用PopupWindow实现自定义Dailog
2017-01-21 10:18
225 查看
Android的PopupWindow是个很有用的widget,利用它可以实现悬浮窗体的效果,比如实现一个悬浮的菜单,最常见的应用就是在视频播放界面里,做一个工具栏,用来控制播放进度。本文利用PopupWindow来实现一个通用的Dailog,类似Android系统的AlertDailog,从中学习和掌握有关PopupWindow和Dailog的使用和实现细节。
界面效果如图所示,点击 Click 按钮后,弹出对话框提示。
1. CustomDailog的布局
首先定义 CustDailog的布局文件,由系统的AlertDailog可以知道,一个对话框包含了三个要素,一个是Title,即标题,一个是Message,即主体内容,还有一个是Button,即确定和取消的按钮,用来与用户交互。因此,布局设计如下:
其中,shap_bg.xml 是Dailog的背景的定义文件,你可以修改此文件,来改变Dailog的背景:
(2) CustomDailog的定义
CustomDailog的接口,可以类比AlertDailg的接口定义,主要包括如下一些方法:
1. setTitle 设置标题
2. setMessage 设置主体内容
3. setPositiveButton 设置 “确定” 按钮
4. setNegativeButton 设置 “取消” 按钮
5. show 显示
6. dimiss 消失
其定义如下:
(3) 在Activity中的使用方法
由于 PopupWindow 的显示必须给一个ParentView,在Activity中使用的话,最简单的方法就是将整个activity的“根View”传递给这个PopupWindow,这样就可以在整个屏幕的正中央来显示Dailog,获取Acitivity的根View的方法如下:
因此,上面定义的 CunstomDailog的使用方法如下所示:
到此为止,整个Dailog的实现就介绍到这里了
界面效果如图所示,点击 Click 按钮后,弹出对话框提示。
1. CustomDailog的布局
首先定义 CustDailog的布局文件,由系统的AlertDailog可以知道,一个对话框包含了三个要素,一个是Title,即标题,一个是Message,即主体内容,还有一个是Button,即确定和取消的按钮,用来与用户交互。因此,布局设计如下:
CustomDailog的接口,可以类比AlertDailg的接口定义,主要包括如下一些方法:
1. setTitle 设置标题
2. setMessage 设置主体内容
3. setPositiveButton 设置 “确定” 按钮
4. setNegativeButton 设置 “取消” 按钮
5. show 显示
6. dimiss 消失
其定义如下:
由于 PopupWindow 的显示必须给一个ParentView,在Activity中使用的话,最简单的方法就是将整个activity的“根View”传递给这个PopupWindow,这样就可以在整个屏幕的正中央来显示Dailog,获取Acitivity的根View的方法如下:
相关文章推荐
- Android用PopupWindow实现自定义Dailog
- Android开发实践:用PopupWindow实现自定义Dailog
- 来实现自定义的menu菜单之一:使用PopupWindow
- 使用PopupWindow实现全局自定义menu
- 自定义PopupWindow实现Spinner
- 分别用自定义PopupWindow和自定义Dialog实现下拉菜单
- 干货一:通过自定义PopupWindow实现QQ菜单选项功能
- android-使用PopupWindow实现随机排列的自定义密码键盘
- PopupWindow实现弹窗,可以任意自定义布局
- PopupWindow实现android自定义弹出框口
- 自定义PopupWindow的实现
- 自定义PopupWindow实现底部弹出式菜单
- android自定义弹出框popupwindow方式实现
- Popupwindow实现自定义的下拉菜单
- 用PopupWindow实现弹出菜单(弹出的菜单采用自定义布局)
- android 自定义菜单 使用PopupWindow实现菜单的各种效果
- Android 用自定义PopupWindow实现自定义Toast
- 用PopupWindow实现自定义overflow
- Android之自定义AlertDialog和PopupWindow实现(仿微信Dialog)
- 自定义PopupWindow实现Spinner