Android设置顶部banner背景透明度时影响全局背景问题

在项目中遇到滑动界面使顶部Title栏背景渐隐渐现效果时,使用setAlpha方法导致整个App背景透明的问题。通过使用.mutate()方法,可以避免多个控件共享状态,实现预期效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中用到滑动界面使顶部title栏背景渐隐渐现的效果,即初始不滑动时的透明度为0,用了bannerle.getBackground().setAlpha(0);

但使用这个方法设置透明度是管用,返回发现整个App的背景,不管是title栏还是布局背景都变成透明的了。

一finish掉这个界面出来整个世界都变了

 

解决方法:bannerle.getBackground().mutate().setAlpha(0);

.mutate()使该控件状态不定,这样控件就不会共享自己的状态,而直接使用.getBackground().setAlpha()的话,在布局中多个控件同时使用一个资源的时候,这些控件会共用一个状态

,如果你改变了一个控件的状态,其他的控件都会接收到相同的通知

转载于:https://www.cnblogs.com/Sharley/p/11088584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值