popupwindow 弹出窗体
来源:互联网 发布:sql server使用 编辑:程序博客网 时间:2024/05/20 02:28
popupwindow 弹出窗体,和对话框类似是轻量级的窗体,可以在窗体中显示各种效果
1.创建popupwindow 弹出窗体,PopupWindow popupWindow = new PopupWindow(contentView,width,height);
contentView:是要显示的view对象,后面两个是高度跟宽度
2.定义一个view对象传入到contentView中
3.显示出来popupWindow.showAtLocation(parent,gravity,x,y);
parent:挂载在那个父控件
gravity:指定他的对齐方式,Gravity.LEFT|Gravity.TOP
后面的x和y分别指定与左边跟上边的偏移量
//popupwindow的窗体默认是透明的颜色,要指定popuwindow的窗体的背景颜色
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));这里面的参数是drawable对象,上面的参数指定背景是透明的
上面的程序会有一个问题,就是如果弹出来的窗体后,点击其他地方窗体是不会消失,相当于对话框一样了,我们还可以创建另一个构造方法指定这个可以有焦点,那么如果另的组件抢走这个焦点,这个弹出窗体也会消失了.PopupWindow(contentView,width,height,onFource);后面那个指定是否可以获取焦点
注意在使用popupWindow的时候一定要给他设置窗体的背景颜色,如果不设置会出现问题,popupWindow不会自动关闭,在popupWindow里面的动画效果也不会显示了
在setOnItemClickListener()事件中的onItemClick()方法,第二个参数view 代表的是listView里面的每一个显示的条目
我们可以得到这个条目的位置
int[] location = new int[2];
view.getLocationInWindow(location);//把位置位置存在location数组中
停止popupwindow
if(popupwindow != null && popupwindow.isShowing()){popupwindow.dismiss(); }
有以下几种情况要取消popupwindow
1.点击另一条目时
2.屏幕发生滚动时
3.直接点后退会出错,窗体发生泄漏,因为popupwindow挂载的窗体被回收了,不会影响程序但是会在log中打印出错误日志,重写onDestory()方法中去关闭popupwindow
popupwindow可以用xml布局,用View,inflate()方法创建一个view,然后把这个view做为popupwindow的view参数传入,也可以设置动画,这个布局设置一个动画
当popupwindow显示的时候,如果按了返回按钮就会报错,但是不会影响程序运行,因为popupwindow是挂在一个activity上的,如果activity消失了,但是popupwindow还没有取消,就会报错,应该在onDestory()的时候手动停止popupwindow.
- popupwindow 弹出窗体
- android popupWindow 弹出窗体
- 弹出窗体PopupWindow的使用
- Android中实现弹出窗体PopupWindow
- 安卓popupwindow弹出窗体的使用
- 用PopupWindow做一个简单的弹出窗体
- popupWindow弹出
- Android底部弹出PopupWindow被菜单栏遮挡问题以及窗体亮度设置
- 弹出窗体
- 弹出窗体
- 弹出窗体
- 弹出窗体
- 窗体弹出
- PopupWindow实现弹出窗口
- Android-PopupWindow弹出GridView
- Android-PopupWindow弹出对话框
- Android popupwindow弹出对话框
- PopupWindow弹出框
- vi/vim 查找替换
- Java笔记之布局管理
- UML建模之时序图(Sequence Diagram)
- 来电一声响的拦截:
- 在android下PackageManager相当windows下的程序管理器
- popupwindow 弹出窗体
- c3p0 参数详解
- ActivityManager活动管理者就好像windows系统中的进程管理器
- 茉莉花的伤感日志发布:放弃也是一种美丽
- 广播接受者的注册有两种方式:
- 自定义toast
- widget的生命周期:
- 开启一个服务定时更新widget组件
- 2011工作总结