PopupWindow的一些使用总结
1.) 让PopupWindow以下拉方式显示在指定位置
这个简单,PopupWindow提供了showAsDropDown,如
[java] view plain copy
mPopupWindow.showAsDropDown(mAnchorView, 0, 0);
mAchorView是一个基准,popupWindow会显示在它的下面。当然也可以显示在它的上面或者左面和右面,这个可以通过其他方法和参数控制。
2。做出类似对话框的背景半透效果
1) 设置PopupWindow全屏:
[java] view plain copy
mPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
mPopupWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
2) 设置背景
背景有两中方式,一种方式是通过mPopupWindow.setBackgroundDrawable, 一种方式是增加一个自己的容器,如FrameLayout。
建议增加自己的容器,因为后面我们要处理touch事件,让窗口关闭。设置容器通过
[java] view plain copy
mPopupWindow.setContentView(mContainer);
3) 处理touch事件,当touch在非内容区域时,popup窗口关闭
非内容区域分两类:半透明区域,这是在容器上的;透明区域,这一部分在popup窗口外。之所以出现这种情况,是在调用showAsDropDown后,AnchorView之上的区域没有被Popupwindow覆盖。
所以首先:
[java] view plain copy
mPopupWindow.setFocusable(true);
这样,让PopupWindow能够接受全屏的touch事件,然后,处理容器的touch事件
[java] view plai
private class ContainerView extends FrameLayout {
public ContainerView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!super.onTouchEvent(event)) {
if (event.getAction() == event.ACTION_UP) {
dismiss();
}
}
return true;
}
}
转载于:https://blog.51cto.com/10594050/1772510
PopupWindow的一些使用总结相关推荐
- android 封装的popwindow,Android UI开发 popupwindow介绍以及代码实例
PopupWindow在android.widget包下,弹出窗口的形式展示.官方文档对该控件的描述是:"一个弹出窗口控件,可以用来显示任意视图(View),而且会浮动在当前 活动(acti ...
- android window 大小,android popupWindow 中宽度莫名很大,求帮助?
这个是popupwindow的内容xml(就是放了个ListView): android:layout_width="wrap_content" android:layout_he ...
- PopupWindow响应返回键的问题
假设情景是这样的:在一个Activity中弹出一个PopupWindow,要求在按返回键时关闭该PopupWindow. 如果该PopupWindow是无焦点的(默认情况),那么可以在Activity ...
- android 虚拟按键挡住布局,Android 关于导航栏(虚拟按键)遮挡PopupWindow底部布局的问题...
我们自定义popupWindow的时候,一般会设置这些参数 setContentView(contentView); //设置高度为屏幕高度 setWidth(UIUtils.getScreenHei ...
- android设置控件的坐标,Android中使PopupWindow显示在指定控件的上下左右!
**1.View中的方法getLocationOnScreen(int[] location):获取该控件在屏幕中的绝对坐标并将坐标保存在数组中:如下图所示,A为屏幕的原点,R,C点即为view的绝对 ...
- android 中的PopupWindow
android UI进阶之弹窗的使用 android 中的PopupWindow 弹出菜单 PopupWindow 转载于:https://www.cnblogs.com/Rocky_/archive ...
- Android中的PopupWindow详解
Android的对话框有两种:PopupWindow和AlertDialog.它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意 AlertDialog ...
- 【Android UI设计与开发】第09期:底部菜单栏(四)Fragment+PopupWindow仿QQ空间最新版底部菜单栏
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9023451 在今天的这篇文章当中,我依然会以实战加理论结合 ...
- 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 参考文章: (1)如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 (2)https://ww ...
- Android下PopupWindow隐藏及显示(showAtLocation/showAsDropDown)
转载:http://orgcent.com/android-popupwindow-showasdropdown-showatlocation/ 上一篇对PopupWindow的用法(位置.动画.焦点 ...
最新文章
- go微服务框架go-micro深度学习(一) 整体架构介绍
- 升维:ValueError: all the input arrays must have same number of dimensions,
- HashMap的实现原理-----哈希讲解
- Openstack_通用模块_Oslo_vmware 创建 vSS PortGroup
- 【CTF大赛】2021 DASCTF July cybercms 一探再探
- SSD论文阅读(Wei Liu——【ECCV2016】SSD Single Shot MultiBox Detector)
- 深度学习之双线性插值(Bilinear interpolation)
- webpack devserver配置_在webpack中使用babel
- 201409-3-字符串匹配
- windows查看usb信息命令_Linux dumpe2fs命令:查看文件系统信息
- 三维重建_基于RGB-D相机的三维重建总览(静态动态)
- 图书馆占座系统(二)
- 域名含义解释查询_域名含义解释查询
- foxpro导入 mysql_无法导入、导出或链接到 FoxPro 数据库 | Microsoft Docs
- column xxx is of type integer but expression is of type character varying。String的成员变量存到int的数据库列 报错
- 数据结构期末考试错点汇总
- 万年历、黄历,获取每日的宜忌、五行、冲煞、值神、彭祖百忌、吉神宜趋、今日胎神、凶神宜忌、二十八星宿、建除十二神
- div用css显示隐藏的效果
- 换手机了备忘录怎么恢复?专家为你解答数据恢复问题
- 投身开源,需要持之以恒的热爱与贡献 —— Apache Spark Committer 姜逸坤
热门文章
- 1707: [Usaco2007 Nov]tanning分配防晒霜
- PHP 入门 - 1.语言基础
- 使用MyEclipse将HTML5移动项目迁移到PhoneGap(一)
- 敏捷冲刺每日报告——Day5
- Elasticsearch 安装配置 外网访问 及 后台启动
- Python学习笔记- Python threading模块
- 在mvc4里怎样引用:System.Web.Optimization和entityframework
- JS判断访问设备(userAgent)加载不同页面 JS判断客户端操作系统类型(platform)
- 主函数main中变量(int argc,char *argv[ ])的含义
- 小程序 -- [sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引