设置的LayoutParams透明度
问题描述:
我有一些代码(Android的源),和我试着去设置的LayoutParam
设置的LayoutParams透明度
第一不透明度,我这有
mLayoutParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
height,
WindowManager.LayoutParams.TYPE_STATUS_BAR,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING
| WindowManager.LayoutParams.FLAG_SPLIT_TOUCH,
// Setup statusbar transparency preference
mOpacity != 100 ? PixelFormat.TRANSPARENT : PixelFormat.RGB_565);
然后我注册一个SettingsObserver,为重装mOpacity,但如果我将Opacity设置回100,则不会是RGB_565
,因为LayoutParams
已经定义了TRANSPARENT
格式。我想知道是否有一些方法来设置这个独立的,因为如果我添加到obsever整个代码,它最终创造无限的Layouts
,并覆盖它们。另一个有用的东西是如何在创建新的One之前销毁mLayoutParams。
在此先感谢。
答
很容易修复。 我刚刚更换
mOpacity != 100 ? PixelFormat.TRANSPARENT : PixelFormat.RGB_565
仅
PixelFormat.TRANSPARENT
然后,当我想设置100%的不透明度,我只是发送了等于100 :)
十六进制值