设置LayoutParams不透明度

时间:2012-04-28 19:23:05

标签: java android opacity layoutparams

我有一些代码(android源代码),我试图设置LayoutParam

的不透明度

首先,我有这个

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格式。我想知道是否有某种方法来设置这个独立的,因为如果我添加到整个代码的观察者,它最终会创建无限Layouts,并覆盖它们。另一个有用的事情是如何在创建一个新的One之前销毁mLayoutParams。

先谢谢。

1 个答案:

答案 0 :(得分:0)

非常容易修复。 我刚换了

 mOpacity != 100 ? PixelFormat.TRANSPARENT : PixelFormat.RGB_565

仅限

  PixelFormat.TRANSPARENT

然后,当我想设置100%不透明度时,我只发送了一个等于100的十六进制值:)