博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中解决华为手机设置PopupWindow半透明背景无效果问题
阅读量:4079 次
发布时间:2019-05-25

本文共 1156 字,大约阅读时间需要 3 分钟。

Android中为PopupWindow设置半透明背景是很常见的,最简单的就是获取窗体的属性,给其设置透明度:

/**      * 设置页面的透明度      * @param alpha 1表示不透明      */      private void setWindowAlpha(float alpha) {        if (alpha < 0 || alpha > 1) return;        WindowManager.LayoutParams windowLP = getWindow().getAttributes();        windowLP.alpha = alpha;        getWindow().setAttributes(windowLP);    }

此方法在绝大多数手机上都是可以的,但是如果是华为手机就不行(暂未找到原因)。要想兼容华为手机,只需要多加几行代码:

private void setWindowAlpha(float alpha) {        if (alpha < 0 || alpha > 1) return;        WindowManager.LayoutParams windowLP = getWindow().getAttributes();        windowLP.alpha = alpha;        if (alpha == 1) {            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug        } else {            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug        }        getWindow().setAttributes(windowLP);    }

设置了透明度之后还要在PopupWindow消失的时候将透明度设置回来:

pw.setOnDismissListener(new PopupWindow.OnDismissListener() {                @Override                public void onDismiss() {                    setWindowAlpha(1f);                }            });

转载地址:http://ozsni.baihongyu.com/

你可能感兴趣的文章
Centos 6.0_x86-64 终于成功安装官方显卡驱动
查看>>
Linux基础教程:CentOS卸载KDE桌面
查看>>
db sql montior
查看>>
read humor_campus
查看>>
IBM WebSphere Commerce Analyzer
查看>>
Unix + OS IBM Aix FTP / wu-ftp / proftp
查看>>
my read work
查看>>
db db2 base / instance database tablespace container
查看>>
hd disk / disk raid / disk io / iops / iostat / iowait / iotop / iometer
查看>>
project ASP.NET
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
OS + Unix Aix telnet
查看>>
IBM Lotus
查看>>
Linux +Win LAMPP Tools XAMPP 1.7.3 / 5.6.3
查看>>
my read_university
查看>>
network manager
查看>>
OS + Linux Disk disk lvm / disk partition / disk mount / disk io
查看>>
RedHat + OS CPU、MEM、DISK
查看>>
net TCP/IP / TIME_WAIT / tcpip / iperf / cain
查看>>
webServer kzserver/1.0.0
查看>>