Android Popuwindow使用
来源:互联网 发布:面具淘宝 编辑:程序博客网 时间:2024/05/01 09:22
android的popuwindow,是window系列控件中的一种,作用是用来弹出一个他弹出框,与对话框不同,因为他是用来“提醒”的,而且是悬浮在当前activity之上的
在使用上,popuwindow与dialog迥异的是:popuwindow必须设置他的长度,宽度,才可以显示出来
最简单的代码
这样我们就可以显示出来了,为了简单点,能看出来,我把在popuwindow的布局文件中,把他设置成为黑色的
效果图:
由于我曾看过一篇博客,说是显示在左下角,所以这里上三张图片
。。。不会弄图。。大家随意。看图片,看得出来,不是显示在左下角的,(设置大小为wrap——content)
popupwindow设置大小、位置设置:
个人觉得popupwindow一直放在那儿,好难看。怎么调节位置?
不着急。先设置他的大小。前面是使用layoutparams去设置,现在。我们可以使用popupwindow的一个构造方法:
//也可以直接设置大小
// popuwindow=new PopupWindow(view,100,100);
这样简单粗暴,然后就回到设置位置上;设置parameter?
这时候看到了这么一个函数:
public void showAsDropDown(View anchor, int xoff, int yoff) {
showAsDropDown(anchor, xoff, yoff, DEFAULT_ANCHORED_GRAVITY);
}
没错!就是showasdropdown这个函数,可以用来设置popupwindow的位置,
什么是xoff,标准在哪儿?测试了几次,发现:
xoff,yoff基于anchor的左下角进行偏移。
而上兼顾到上面提及的两个方面。popupwindow就可以实现了,但是,此时的它却是会一直显示着这时候要让他消失,需要调用到dismiss函数,但是直接调用,是会直接消失。顶多让手机卡顿一下,使用者却不知道popupwindow出现过
这时,调用下view里那个按钮,给他添加下点击事件
这时候点击下确定按钮,那么他就消失了
那么怎么让我们点击外部时候。popupwindow也能消失呢?这是有人想到了popupwindow的setoutside方法,但是很遗憾
其实这个方法时设置popupWindow以外的区域可以相应触摸事件,比如我们重写了触摸事件去做一些别的操作
而且查看api,没看到明显的方法(我是没看到,有看到的麻烦指点一下)
是时候百度一波了,百度过后,发现这么一句话:
需要顺利让PopUpWindow dimiss(即点击PopuWindow之外的地方此或者back键PopuWindow会消失);PopUpWindow的背景不能为空。必须在popuWindow.showAsDropDown(v);或者其它的显示PopuWindow方法之前设置它的背景不为空
所以,代码中增添了这么几句:
这样设置过后,我们的外部点击事件就可以执行了,到最后,大家肯定都注意到了我设置的button2.外部点击按钮,测试过后,会发现不设置outside的话,点击外部点击事件的话,button的点击事件依旧会实现。若是想让他在几秒后自动消失,很抱歉,dismiss的函数类别是void的,需要用handle去设置
最后上全部代码:
- Android Popuwindow使用
- android的popuwindow的使用
- android popuwindow
- android popuwindow
- popuwindow使用
- Android开发之PopuWindow的使用
- android----popuwindow的使用,自定义的方式
- Android中popuwindow中使用listview
- Android弹出式窗口PopuWindow的使用
- Android弹出窗口PopuWindow
- Android中自定义popuWindow
- Popuwindow简单使用
- PopuWindow的使用
- PopuWindow
- popuwindow
- popuwindow
- PopuWindow
- Android之PopuWindow简单学习
- 数据库SQL优化总结
- asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
- Linux学习笔记3-1:SHELL脚本
- C#发送企业内部邮件
- java面试题及答案(基础题122道,代码题19道)
- Android Popuwindow使用
- 学习一个新领域知识的最佳方法和最快时间各是什么?
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- tensorflow学习笔记(十):sess.run()
- python获取字母在字母表对应位置的几种方法及性能对比较
- Mysql配置文件(my.ini)参数解释
- Linux 主机名服务名地址转换函数
- Java8新特性 - 默认接口方法
- java 面试题之1+1在什么情况下不等于2 ?