Android 自定义Popupwindow 注意事项,手机和平板的区别
首先自定义ppw是要继承Popupwindow 的
而要成功的显示出自定义的ppw就必须实现下面的三句代码
// 必要的三要素下面,不然popWind显示不出来
this.setContentView(mView);
this.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
this.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
//上面的代码是必须设置的,不然ppw显示不出来。
this.setFocusable(true);// 使popwind中获取不到焦点,默认是false,这里是为了使EditText没有焦点,从而不会弹出输入框
this.setBackgroundDrawable(new BitmapDrawable());
this.setOutsideTouchable(true); // 点击popwind以外的地方关闭popWind
//这两句代码我要来解释一下
(1)、setFocusable()这个方法如同上面的解释一样,但我要提醒的是:
如果你自定义的ppw包含了ListView这个控件并设置了OnItemClickListener事件,
因为我在项目开发中遇到这个问题所以提出来,这句代码在手机端的时候不管你设置了true还是false ,ListView的OnItemClickListener事件都会触发,但在Android平板中设置了false是不会触发OnItemClickListener这个事件的,所以要提醒大家注意一下
(2)、setOutsideTouchable()这个方法的说明就是点击ppw以外的地方关闭ppw,但如果你这么就设置为true的话,那么告诉你这是不起任何作用的,别问我为什么,因为我也不知道,如果想要起作用就必须还要设置这个setBackgroundDrawable(new BitmapDrawable());// 这样设置才能点击屏幕外dismiss窗口 ,这两句代码同时使用才能起到效果
- [造轮子]Android多线程下载
- Android引用控件之ViewPager
- Android基于人脸识别的用户注册/登录实现思路
- Android_EventBus使用
- Android入门--Toast五种情形
- OpenglES2.0 for Android:再谈纹理映射
- android 关于服务的详细深入介绍
- 马上学Android开发在线视频教程全集
- android新手进阶之百度地图基本功能实现
- 【项目中】禁止进入activity后EditText自动获得焦点的方法
- Cubietruck---3. android编译命令分析
- Android中base64加密后的字符串带有“\n”导致出错的问题解决
- Cubietruck---2. fastboot的烧写
- Android 使用LruCache和DiskLruCache建立图片加载库
- Android5.0 ripple效果低版本的实现
- actionbar(Android开源项目)
- 解决Android中,禁止ScrollView内的控件改变之后自动滚动
- Android入门--Toast 显示一个ImageView
- Android文件存储(一)
- AndroidStudio导出jar包