android popupwindow 的使用方法()
来源:互联网 发布:mac os双系统安装教程 编辑:程序博客网 时间:2024/05/19 19:44
在项目中一直都用过popupwindow,显示弹框,,等,但都是模棱两可 ,今天理解了 特此记录一下
1.使用场景
PopupWindow,顾名思义,就是弹窗,在很多场景下都可以见到它。例如ActionBar/Toolbar的选项弹窗,一组选项的容器,或者列表等集合的窗口等等。
2.基本用法
使用PopupWindow很简单,可以总结为三个步骤:
- 创建PopupWindow对象实例;
- 设置背景、注册事件监听器和添加动画;
- 显示PopupWindow。
1 // 用于PopupWindow的View 2 View contentView=LayoutInflater.from(context).inflate(layoutRes, null, false); 3 // 创建PopupWindow对象,其中: 4 // 第一个参数是用于PopupWindow中的View,第二个参数是PopupWindow的宽度, 5 // 第三个参数是PopupWindow的高度,第四个参数指定PopupWindow能否获得焦点 ,其中有好几个构造,我只是用了其中一个 6 PopupWindow window=new PopupWindow(contentView, 100, 100, true); 7 // 设置PopupWindow的背景 必须设置背景,要不setoutsidetouchable(true)不管用,按back键也不会管用,具体看源码,如果背景不为空的话,会在外面套一层布局 8 window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 9 // 设置PopupWindow是否能响应外部点击事件10 window.setOutsideTouchable(true);11 // 设置PopupWindow是否能响应点击事件,具体是其中的item的响应事件12 window.setTouchable(true);13 // 显示PopupWindow,其中:14 // 第一个参数是PopupWindow的锚点,第二和第三个参数分别是PopupWindow相对锚点的x、y偏移15 window.showAsDropDown(anchor, xoff, yoff);1619 window.showAtLocation(parent, gravity, x, y);
重点说说showatloacation (parent,gravity,x,y)参数使用方法
第一个参数:parent其实就是一个view,这个view是要能获取到window唯一标示的(也就是只要能获取到window 标示,view是什么控件都可以),应该是表示这个popupwindow添加到哪个window里面,对控制popupwindow出现位置没有影响,只要是activity当中的控件就可以
第二个参数:请记住屏幕原点是屏幕的左上角。Gravity.TOP | Gravity.RIGHT指的就是屏幕的右上角,那么popupwindow的中心点坐标是(屏幕宽,0)。popupwindow默认是在屏幕的中间,也就是Gravity.LEFT表示popupwindow的中心点坐标是(0,1/2屏幕高);gravity.top的坐标中心就是(1/2屏幕宽,0),别的同理
第三、四个参数:偏移量的方向与第二个参数有关。Gravity.TOP | Gravity.RIGHT,以屏幕右上角为原点,popupwindow往X轴负方向偏移10个像素,往Y轴正方向偏移10个像素;如果是Gravity.BOTTOM| Gravity.LEFT,以屏幕左下角为原点,pw往X轴正方向偏移10个像素,往Y轴正方向偏移10个像素。
注意:这个偏移量可以是正的,也可以是负的。
- android popupwindow 的使用方法()
- Android中PopupWindow的使用方法
- Android PopupWindow使用方法小结
- Android PopupWindow使用方法小结
- PopupWindow的使用方法
- popupWindow 的使用方法
- popupWindow 的使用方法
- PopupWindow的基本使用方法
- PopupWindow的使用方法
- PopUpWindow的使用方法及注意事项
- PopupWindow使用方法
- Android PopupWindow的使用
- Android PopupWindow的使用
- Android PopupWindow的使用!!!
- android PopupWindow的用法
- android popupWindow的运用
- Android PopupWindow的使用!!!
- Android PopupWindow 的使用
- 如何动态加载图片
- 在yii的URL中,如何隐藏动态文件夹?
- git-svn使用教程
- Error:Cause: https://downloads.gradle.org/distributions/gradle
- Duplicate entry '0' for key 'PRIMARY'
- android popupwindow 的使用方法()
- js中top.location.href、parent.location.href用法
- 单片机系列(2)流水灯程序是如何写入单片机的
- 前端页面用户登录,servlet查询用户失败以后提示登录失败!
- jQuery函数attr()和prop()的区别
- Deep Convolutional Nets for Semantic Image Segmentation with Deep Gaussian CRFs
- Centos7更新阿里云yum源
- Linux在线安装mysql
- Java面试---Spring框架