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 学习总结的更多相关文章

  1. PopupWindow学习笔记

    最近写程序第一次用到了PopupWindow,便简单了学习了一下.特此记下自己的收获.PopupWindow是一种悬浮框,比AlertDialog要灵活的多.先简单了实现一个PopWindow的效果, ...

  2. Android开发学习之路-PopupWindow和仿QQ左滑删除

    这周作业,要做一个类似QQ的左滑删除效果的ListView,因为不想给每个item都放一个按钮,所以决定用PopupWindow,这里记录一下 先放一下效果图: 先说明一下这里面的问题: ①没有做到像 ...

  3. android学习笔记17——对话框(PopupWindow)

    PopupWindow ==> PopupWindow可创建类似对话框的窗口,使用其创建对话框窗口的操作步骤: 1.调用PopupWindow构造器构造PopupWindow对象: 2.调用Po ...

  4. android学习——popupWindow 在指定位置上的显示

    先看效果图,免得浪费大家时间,看是不是想要的效果 . 直接上代码 ,核心方法. [java] view plaincopy private void showPopupWindow(View pare ...

  5. [Android学习笔记]PopupWindow的使用

    什么时候使用PopupWindow? 当业务需求的交互形式需要在当前页弹出一个简单可选项UI与用户进行交互时,可使用PopupWindow完成此功能开发 Android Dev API Doc Pop ...

  6. Android的PopupWindow使用android学习之旅(四十三)

    PopupWindow简介 PopupWindow是一个类似dialog的控件,可以接受任何的view作为下拉列表显示. 用法 代码展示 package peng.liu.test; import a ...

  7. PopupWindow 常用方法学习笔记

    PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画. 首先解析一个View LayoutInflater inflater = getLayoutInflater(); ...

  8. Android学习之PopupWindow

    Android的对话框有两种:PopupWindow和AlertDialog. 详细说明如下: AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情: AlertDi ...

  9. 安卓学习笔记:使用PopupWindow创建简单菜单

    PopupWindow是一个弹出式窗口,它可以展示任意View.他会浮在当前窗口的上方展示. 下面看代码: public class MyActivity extends Activity { pri ...

随机推荐

  1. Linux Namespace : IPC

    IPC namespace 用来隔离 System V IPC 对象和 POSIX message queues.其中 System V IPC 对象包含共享内存.信号量和消息队列,笔者在<Sy ...

  2. Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)

    知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...

  3. ubuntu系统升级和其他相关操作记录

    之前在openstack中安装了ubuntu 12.04虚拟机,版本较低,需要升级为高版本.下面分享下升级过程: ubuntu系统升级操作:$ cat /etc/issueUbuntu 12.04.5 ...

  4. 百度之星-1002-list应用

    用stl的list即可,注意...代码的简洁性(被debug伤痛)注意合并时可以手动pop,或者用splice进行合并,不能用merge!!!merge合并是自带排序!!! #include<b ...

  5. 个人博客作业Week3--必应词典案例分析

    第一部分  调研,评测 (软件的bug,功能评测,黑箱测试,第8章 用户调研,12 章软件的用户体验) 下载并使用,按照描述的bug定义,找出几个功能性的比较严重的bug.至少两个.用专业的语言描述( ...

  6. SE Springer小组之《Spring音乐播放器》需求分析说明书二

    2.1 目标 Spring音乐播放器软件为课程<软件工程>所开发的课程作业,主要意图是为访问计算机中的mp3格式的音频文件,并使其能够完成访问,读取,添加,保存,播放,切换音频文件等功能. ...

  7. 第三个Sprint ------第八天

    四则运算APP开发基本完成! PC端运行结果截图 移动端(华为手机)测试截图 总结:通过这次课程设计,我体会到团队协作的重要性,也体会到了理论联系实际的意义.做一件事,要坚持不懈,不能半途而废!

  8. react 动态获取数据

    如果reander()里面的dom元素是动态获取的,就要将函数放到setSTATE()里面执行

  9. Maven修改默认JDK

    Maven修改默认JDK 问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候 ...

  10. 转:为Docker容器设置固定IP实现网络联通(1)——通过Pipework为Docker容器设置

    https://blog.csdn.net/chinagissoft/article/details/51250839 1. 创建并启动一个容器: docker run --cap-add=NET_A ...