【问题标题】:Set LayoutParams Opacity设置 LayoutParams 不透明度
【发布时间】: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


    【解决方案1】:

    很容易修复。 我刚换了

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

    仅由

      PixelFormat.TRANSPARENT
    

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

    【讨论】:

      猜你喜欢
      • 2016-05-15
      • 1970-01-01
      • 2011-09-18
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2011-09-29
      • 1970-01-01
      相关资源
      最近更新 更多