【发布时间】:2012-05-01 10:39:16
【问题描述】:
我有一些代码(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。
提前致谢。
【问题讨论】:
标签: java android opacity layoutparams