PopupWindow 学习总结
http://wenku.baidu.com/link?url=d48Zr6m7XJq-2JagViGTtVhsvGNHoBg9bHJCbQUJSb5tjRPx9ecavBNlL71ywrT8josV7b9_V_P6nVl2mUJiSrIjkWIBvy3P7R7nh1Jthpe
PopupWindow
学习总结
经过一段时间的学习
,
了解了
PopupWindow
的基本用法
,
如下
:
1
、为
PopupWindow
的
view
布局,通过
LayoutInflator
获取布局的
view.
如
:
LayoutInflater inflater =(LayoutInflater)
this
.
anchor
.getContext().getSystemService(Context.
LAYOUT_INFLATER_SERVI
CE
);
View textEntryView =
inflater.inflate(R.layout.
paopao_alert_dialog
,
null
);
2
、显示位置,可以有很多方式设置显示方式
pop.showAtLocation(findViewById(R.id.ll2), Gravity.LEFT, 0, -90);
3
、进出场动画
pop.setAnimationStyle(R.style.PopupAnimation);
4
、点击
PopupWindow
区域外部
,PopupWindow
消失
this
.
window
=
new
PopupWindow(anchor.getContext());
this
.
window
.setTouchInterceptor(
new
OnTouchListener() {
@Override
public
boolean
onTouch(View v, MotionEvent event) {
if
(event.getAction() ==MotionEvent.
ACTION_OUTSIDE
) {
BetterPopupWindow.
this
.
window
.dismiss();
return
true
;
}
return
false
;
}
});
教训:
1
、
PopuWindow
的大小由下面代码控制;
newPopupWindow(view, ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
;
2
、
popuWindow.
showAsDropDown(v);
方法是将
PopuWindow
显示在
View v
的左下方;
3
、
需要顺利让
PopUpWindow dimiss
(即点击
PopuWindow
之外的地方此或者
back
键
PopuWindow
会消失);
PopUpWindow
的背景不能为空。必须在
popuWindow.showAsDropDown(v);
或者其它的显示
PopuWindow
方法之前设置它的背景不为
空:如下面两行代码:
ColorDrawablecd = new ColorDrawable(-0000);
popuWindow.setBackgroundDrawable(cd);
popuWindow.showAsDropDown(v);
注意这里设置背景并不会覆盖
xml
文件定义的背景。
4
、
当有
popuWindow.setFocusable(false);
的时候,说明
PopuWindow
不能获得焦点,即使
设置设置了背景不为空也不能点击外面消失,只能由
dismiss()
消失,但是外面的
View
的事件
还是可以触发
,back
键也可以顺利
dismiss
掉。当设置为
popuWindow.setFocusable(true);
的
时候,加上下面两行设置背景代码,点击外面和
Back
键才会消失。
5
、
//
这里设置显示
PopuWindow
之后在外面点击是否有效。如果为
false
的话,那么点击
PopuWindow
外面并不会关闭
PopuWindow
。当然这里很明显只能在
Touchable
下才能使
用。
popuWindow.setOutsideTouchable(true);
PopupWindow 学习总结的更多相关文章
- PopupWindow学习笔记
最近写程序第一次用到了PopupWindow,便简单了学习了一下.特此记下自己的收获.PopupWindow是一种悬浮框,比AlertDialog要灵活的多.先简单了实现一个PopWindow的效果, ...
- Android开发学习之路-PopupWindow和仿QQ左滑删除
这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...
- android学习笔记17——对话框(PopupWindow)
PopupWindow ==> PopupWindow可创建类似对话框的窗口,使用其创建对话框窗口的操作步骤: 1.调用PopupWindow构造器构造PopupWindow对象: 2.调用Po ...
- android学习——popupWindow 在指定位置上的显示
先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. [java] view plaincopy private void showPopupWindow(View pare ...
- [Android学习笔记]PopupWindow的使用
什么时候使用PopupWindow? 当业务需求的交互形式需要在当前页弹出一个简单可选项UI与用户进行交互时,可使用PopupWindow完成此功能开发 Android Dev API Doc Pop ...
- Android的PopupWindow使用android学习之旅(四十三)
PopupWindow简介 PopupWindow是一个类似dialog的控件,可以接受任何的view作为下拉列表显示. 用法 代码展示 package peng.liu.test; import a ...
- PopupWindow 常用方法学习笔记
PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画. 首先解析一个View LayoutInflater inflater = getLayoutInflater(); ...
- Android学习之PopupWindow
Android的对话框有两种:PopupWindow和AlertDialog. 详细说明如下: AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情: AlertDi ...
- 安卓学习笔记:使用PopupWindow创建简单菜单
PopupWindow是一个弹出式窗口,它可以展示任意View.他会浮在当前窗口的上方展示. 下面看代码: public class MyActivity extends Activity { pri ...
随机推荐
- Docker 快速验证 HTML 导出 PDF 高效方案
需求分析 项目中用到了 Echarts,想要把图文混排,当然包括 echarts 生成的 Canvas 图也导出 PDF. 设计和实现时,分析了 POI.iText.freemaker.world 的 ...
- Error【0007】:zabbix中因为curl版本过低而无法发送邮件
1. 错误背景 在centos6.5上,源码部署zabbix最新版本zabbix-3.2.14.部署后之后,在配置邮件发送报警时出错 2. 错误提示 3. 原因分析 从网上检索的结果是说,系统中的cu ...
- Ionic 入门与实战之第三章:Ionic 项目结构以及路由配置
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第三章,主要对 Ionic 的项目结构作了介绍,并讲解了Ionic 中的路由概念以及相关配置. 原文发表于我的技术博客 1. Ioni ...
- webpack笔记
打包 img src src 必须以 点(.) 开始,才能被打包. 如: ./img/logo.png ../img/logo.png 使用 process a.js window.Base_Url ...
- NuGet 使用笔记
环境准备 1. 下载nuget : https://www.nuget.org/downloads 2. 设置到环境变量Path, 使生效:在Cmd打入: set path=abc 关闭Cmd (C ...
- Tomcat通过Memcached实现session共享的完整部署记录
对于web应用集群的技术实现而言,最大的难点就是:如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块.要实现这一点, 大体上有两种方式:一种是把所有Ses ...
- Centos下MooseFS(MFS)分布式存储共享环境部署记录
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,分布式文件系统的实际基于客户机/服务器模式.目前 ...
- C. Vasya and Multisets
传送门 [http://codeforces.com/contest/1051/problem/C] 题意 给你一堆数,问是否可以分为两堆使得两堆里只出现一下的数字的种类相等,可以输出任意一种分的方式 ...
- PHP开发:Eclipse版环境配置
软件: 1.eclipse php版本下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr 2.A ...
- 使用matlab自带工具实现rcnn
平台:matlab2016b matlab自带一个cifar10Net工具可用于深度学习. 图片标注 这里使用的是matlab自带的工具trainingImageLabeler对图像进行roi的标注. ...