【问题标题】:Right argument to setAlpha?setAlpha 的正确论点?
【发布时间】:2014-08-25 07:32:56
【问题描述】:

在 Android 中,用于设置透明度的 setAlpha 函数在不同的类中接受不同的参数。在View 或其任何派生类中,setAlpha 接受float 作为参数(0 表示完全透明,1 表示完全不透明)。在Drawable 及其派生值中,setAlpha 接受 int 作为参数(0 表示完全透明,255 表示完全不透明)。

对于同一属性的类之间的论点存在这种差异,这是否有任何充分的理由?

【问题讨论】:

  • 据我所知,旧版本的 android pre ICS Views 使用 int 0 - 255 作为 alpha,之后他们使用 alpha 0-1,也许从那以后 Drawable 类没有更新,或者有不需要。

标签: android colors alpha


【解决方案1】:

Drawable 上的setAlpha 早于View.. 上的setAlpha
Drawable.setAlpha(0-255) 是设置 alpha 的更有效方法,因为结果 alpha 是那个字节值.. 所以它更直接,和浮动的很贵。现在使用硬件渲染浮点数会更好,因为这个值与 GPU 特性直接相关。

信用:凝固汽油弹

【讨论】:

  • 好的,我明白了。但是他们不应该保持相同,就像他们在 View 中将其更改为浮动一样,也应该对 Drawable 进行相同的更改,对吗?在如此流行的操作系统中看到 setAlpha 接受不同类型作为参数,这看起来有点奇怪。
  • 我真的不知道,但似乎他们直到现在才更新 Drawable。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
相关资源
最近更新 更多