android 带箭头的按钮,用Dialog创建带箭头的对话框
很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。(需要注意的是:PopupWindow是一个阻塞式的弹出框,这就意味着在我们退出这个弹出框之前,程序会一直等待,这和AlertDialog不同,AlertDialog是非阻塞式弹出框,AlertDialog弹出的时候,后台可是还可以做其他事情的。)
先选用一个带箭头的图片(pop.gif)做Dialog的背景,Dialog的布局文件如下:
Xml代码
android:layout_height="25dip"
android:background="@drawable/style_white_orange" />
android:layout_height="25dip"
android:background="@drawable/style_white_orange" />
另外,需要设定Dialog的样式。在values文件夹下新建styles.xml,如下:
<?xml version="1.0" encoding="utf-8"?>
尤其注意的是,sytles.xml里的background也要设为dialog的背景图片(pop.gif),windowBackground设为透明。
主页面的代码:
public class MainActivity extendsActivity { @Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)findViewById(R.id.btn); button.setOnClickListener(newOnClickListener() { @Overridepublic voidonClick(View v) { PopupDialog popupDialog= new PopupDialog(MainActivity.this, R.style.dialog); popupDialog.setCanceledOnTouchOutside(true); //点击Dialog之外的区域对话框消失 Window window=popupDialog.getWindow(); WindowManager.LayoutParams lp=window.getAttributes(); lp.y= -64; //设置竖直方向的偏移量lp.dimAmount= 0f; //弹出对话框的时候背景不变暗popupDialog.show(); } }); } }
最后效果如下图:
android 带箭头的按钮,用Dialog创建带箭头的对话框相关推荐
- Android UI之ImageButton(带图标的按钮)
除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable ...
- android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用
展开全部 除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局62616964757a686964616fe58685e5ae ...
- 【传】玩转Android---UI篇---ImageButton(带图标的按钮)
原文网址:http://hualang.iteye.com/blog/964049 除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首 ...
- Android之使用AlertDialog.Builder类创建带列表的对话框和带自己所布局视图的对话框
1.首先,新建一个安卓项目,项目名称为DialogTest1,首先,进行界面布局,打开布局文件res下的layout文件夹下的activity_main.xml文件,附上activity_main的代 ...
- Android之使用AlertDialog类和AlertDialog.Builder类创建带取消,确定,中立的对话框
1.AlertDialog类的功能特别强大,不仅可以生成带有按钮的提示对话框,还可以生成带列表的列表对话框,在使用AlertDialog类生成对话框时,只能生成带按钮的提示对话框,如果要生成带列表的提 ...
- 在UIToolbar上创建左箭头按钮(如UINavigationBar的“后退”样式)
本文翻译自:Creating a left-arrow button (like UINavigationBar's "back" style) on a UIToolbar I' ...
- Android带参数回传的自定义dialog
Android带参数回传的自定义dialog 1.首先,建立一个属于dialog的style样式: <style name="MessageListDialog" paren ...
- 自定义Android带图片的按钮
自定义Android带图片的按钮 前言 现在移动设备的按钮设计讲究大图标小文字,希望用户只要一看到图标便能知道这个按钮是干嘛的,但又要有必要的文字提示,最常见的就数搜索按钮了,上面一个大大的放大镜图标 ...
- android 弹窗确认,弹出一个带确认和取消的dialog实例
实例如下: /** * 弹出一个带确认和取消的dialog * @param context * @param title * @param msg * @param okbutton * @para ...
最新文章
- Centos+PHP模块+exif扩展 (第三方模块)
- 网页自适应和响应式的区别与分析总结
- 面试:说说Java中的 volatile 关键词?
- App Store审核被拒的23个理由
- 关于阿里面试的一个小题(推荐)
- 前端学习(2526):Vuex成果和展示
- 十四个方法提高博客的页面访问量
- [BZOJ4817]树点涂色
- wordpress插件_8个虚拟教室的必备WordPress插件
- ftk学习记(waitbox篇)
- Spring Boot整合模板引擎thymeleaf
- 使用组策略配置QoS
- 中小企业财务管理的重要性
- 华硕aura完全卸载_华硕RadeonRX 5500XT显卡,散热强力升级,畅玩游戏冷静体验
- python3数据科学入门与实战技巧_Python3数据科学入门与实战
- 英特尔cpu发布时间表_英特尔公司宣布第九代桌面CPU发售时间:i9 9900K将于10月19日正式发售!...
- 微信聊天记录删除了怎么恢复?最简单快捷的恢复方式看这里
- 2015美国大学计算机科学专业排名,2015美国大学本科计算机专业排名前一百
- 怎样做C语言课程设计?(一)
- SqlServer 并发事务:死锁跟踪(一)简单测试