0

我有一些代码(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_565LayoutParams定义的那样是TRANSPARENTFormat。我想知道是否有某种方法可以设置这个独立的,因为如果我添加观察整个代码,它最终会创建无限Layouts并覆盖它们。另一件有用的事情是如何在创建新的之前销毁 mLayoutParams。

提前致谢。

4

1 回答 1

0

很容易固定。我刚换

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

仅由

  PixelFormat.TRANSPARENT

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

于 2012-05-01T02:39:16.703 回答