Window弹窗两种透明的方式

通过WindowManager添加一个弹窗,系统默认会给弹窗添加黑色的背景。这个时候如果想要一个半透明的效果,有两种方式:
1,设置WindowManager.LayoutParams的alpha属性,取值在0.0-1.0之间,值越小越透明。

WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
wmParams.alpha = 0.2f;

设置了这个透明值之后,弹窗中所有的内容,不管是根布局还是子控件,都会变得透明起来。有时候我们只希望弹窗的背景是半透明的,但是子控件,比如输入框或者按钮之类的还是不要透明,那么可以使用下面的方式。

2,设置WindowManager.LayoutParams的format为透明属性。

WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
wmParams.format = PixelFormat.TRANSLUCENT;

这个时候,可以根据需求设置跟布局的background属性,同时我们的子控件透明度也不会受到影响。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值