Android中PopupWindow设置背景的方案处理
来源:互联网 发布:js面向对象和原型 编辑:程序博客网 时间:2024/06/05 16:47
Android中PopupWindow设置背景的方案处理
android
中为PopupWindow
设置半透明背景是比较常见的需求了,之前工作中没有遇到在华为手机失效的问题,昨天终于遇到了,网上查了下,没有查到原因,只是得到一个解决问题的临时方案,暂且记录下来,这个或许得咨询@华为技术部究其根本了。
下面说下处理过程,先放上工程中设置半透明不起作用的代码
/** * 设置透明度(activity) * @param bgAlpha[0-1] 1表示不透明 */ public static void setPopWindowBackgroundAlpha(Activity activity, float bgAlpha) { WindowManager.LayoutParams lp = activity.getWindow().getAttributes(); lp.alpha = bgAlpha; activity.getWindow().setAttributes(lp); }
以上在华为部分手机(因没有测试过所有手机)无效,则下面方案产生:
/** * 设置透明度(context) * @param bgAlpha[0-1] 1表示不透明 */ public void setPopWindowBackgroundAlpha(Activity activity, float bgAlpha) { WindowManager.LayoutParams lp = ((Activity)context).getWindow().getAttributes(); lp.alpha = bgAlpha; //[0.0-1.0] if (bgAlpha == 1) { //不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug,而我遇到的是半透明无效,采用了该方案 ((Activity)context).getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); } else { //此行代码主要是解决在华为手机上半透明效果无效的bug ((Activity)context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); } // activity.getWindow().setAttributes(lp); ((Activity)context).getWindow().setAttributes(lp); }
还有其他方法可以实现半透明效果,比如,设置PopupWindow
为全屏,自己添加半透明的背景等。
0 0
- Android中PopupWindow设置背景的方案处理
- Android中为PopupWindow设置半透明背景的方案(兼容华为手机)
- PopupWindow设置背景亮度完美方案
- Android PopupWindow背景半透明兼容方案
- Android PopupWindow背景半透明兼容方案
- Android PopupWindow背景半透明兼容方案
- Android popupWindow设置背景透明度无效问题
- android popupwindow 点击按钮设置黑色背景
- Android中popupwindow弹出灰色背景遇到的坑
- Android中popupwindow弹出灰色背景遇到的坑
- PopupWindow的使用及背景变暗设置
- 设置popupwindow弹出后的背景颜色
- android中popupwindow屏幕背景半透明
- PopupWindow设置背景
- Android中解决华为手机设置PopupWindow半透明背景无效果问题
- android中Fragment中弹不出popupwindow的问题处理
- Android PopupWindow中ListView 无法接受点击事件的处理
- Android PopupWindow 弹窗背景半透明,设置最大高度
- 遗传算法
- 利用python进行数据分析——data = {i : randn() for i in range(7))
- iOS Duplicate interface definition for class 'AppDelegate' ; Property has a previous declaration
- [hash] -- 分布均匀的hash函数
- string,stringbuffer, stringbuffbuilder
- Android中PopupWindow设置背景的方案处理
- Predix 分析应用开发 1
- start with connect by prior 递归查询用法
- 简单记录下Android设计模式 ---个人笔记
- 打开新窗口的window.open使用方法以及最大化等问题解决方法汇总
- eclipse maven异常“Project configuration is not up-to-date with pom.xml
- nginx 获取配置的宏执行过程1
- Java安全架构____KeyGenerator(对称)秘钥生成工具详解
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例