很多应用中,在点击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创建带箭头的对话框相关推荐

  1. Android UI之ImageButton(带图标的按钮)

    除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局文件中定义ImageButton,然后通过setImageDrawable ...

  2. android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用

    展开全部 除了Android系统自带的Button按钮以外,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首先要在布局62616964757a686964616fe58685e5ae ...

  3. 【传】玩转Android---UI篇---ImageButton(带图标的按钮)

    原文网址:http://hualang.iteye.com/blog/964049 除了Android系统自带的Button按钮一万,还提供了带图标的按钮ImageButton 要制作带图标的按钮,首 ...

  4. Android之使用AlertDialog.Builder类创建带列表的对话框和带自己所布局视图的对话框

    1.首先,新建一个安卓项目,项目名称为DialogTest1,首先,进行界面布局,打开布局文件res下的layout文件夹下的activity_main.xml文件,附上activity_main的代 ...

  5. Android之使用AlertDialog类和AlertDialog.Builder类创建带取消,确定,中立的对话框

    1.AlertDialog类的功能特别强大,不仅可以生成带有按钮的提示对话框,还可以生成带列表的列表对话框,在使用AlertDialog类生成对话框时,只能生成带按钮的提示对话框,如果要生成带列表的提 ...

  6. 在UIToolbar上创建左箭头按钮(如UINavigationBar的“后退”样式)

    本文翻译自:Creating a left-arrow button (like UINavigationBar's "back" style) on a UIToolbar I' ...

  7. Android带参数回传的自定义dialog

    Android带参数回传的自定义dialog 1.首先,建立一个属于dialog的style样式: <style name="MessageListDialog" paren ...

  8. 自定义Android带图片的按钮

    自定义Android带图片的按钮 前言 现在移动设备的按钮设计讲究大图标小文字,希望用户只要一看到图标便能知道这个按钮是干嘛的,但又要有必要的文字提示,最常见的就数搜索按钮了,上面一个大大的放大镜图标 ...

  9. android 弹窗确认,弹出一个带确认和取消的dialog实例

    实例如下: /** * 弹出一个带确认和取消的dialog * @param context * @param title * @param msg * @param okbutton * @para ...

最新文章

  1. Centos+PHP模块+exif扩展 (第三方模块)
  2. 网页自适应和响应式的区别与分析总结
  3. 面试:说说Java中的 volatile 关键词?
  4. App Store审核被拒的23个理由
  5. 关于阿里面试的一个小题(推荐)
  6. 前端学习(2526):Vuex成果和展示
  7. 十四个方法提高博客的页面访问量
  8. [BZOJ4817]树点涂色
  9. wordpress插件_8个虚拟教室的必备WordPress插件
  10. ftk学习记(waitbox篇)
  11. Spring Boot整合模板引擎thymeleaf
  12. 使用组策略配置QoS
  13. 中小企业财务管理的重要性
  14. 华硕aura完全卸载_华硕RadeonRX 5500XT显卡,散热强力升级,畅玩游戏冷静体验
  15. python3数据科学入门与实战技巧_Python3数据科学入门与实战
  16. 英特尔cpu发布时间表_英特尔公司宣布第九代桌面CPU发售时间:i9 9900K将于10月19日正式发售!...
  17. 微信聊天记录删除了怎么恢复?最简单快捷的恢复方式看这里
  18. 2015美国大学计算机科学专业排名,2015美国大学本科计算机专业排名前一百
  19. 怎样做C语言课程设计?(一)
  20. SqlServer 并发事务:死锁跟踪(一)简单测试

热门文章

  1. ISP简介(stm32)
  2. USB SS-PHY Tuning
  3. VHDL设计——交通红绿灯控制器模块
  4. java 根据经纬度换算距离
  5. js 根据链接生成二维码
  6. ES 检索 word、pdf 文档插件 ingest attachment 的管道配置和文档结构映射
  7. VC组合框的使用示例
  8. 晶振电路的PCB设计
  9. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
  10. tarjan算法讲解