0

我有一个 ListView,我希望这些项目在按下时显示与 Holo Blue 不同的颜色。所以我做了一个可绘制的选择器,效果很好。

我的颜色是FFF100,漂亮的黄色。

但是,我认为它有点太饱和了,所以我想降低 alpha 以使其更像我的选项卡指示器,这是通过图像文件完成的。它具有相同的颜色,FFF100但不透明度为 50%。

所以我将颜色更改为 ARGB 值,使用80(128/255) 作为 alpha 值。所以我的颜色是现在80FFF100

但现在它看起来像一个奇怪的绿色!截屏

还有我的colors.xml:

<resources>
    <color name="putio_accent">#FFF200</color> **This is the standard yellow color. Using this works fine, but it's too saturated, like I said before.
    <color name="putio_accent_selected">#80FFF100</color> **This should be the same, but with 50% alpha..
</resources>

为什么会这样?!

4

3 回答 3

1

解决它。它显示为绿色的原因是由于某种原因,Android 显示了默认的按下颜色(全息蓝色)并将其与我的结合。蓝色+黄色=绿色!

我通过在我的行的 XML 中删除这一行来修复它:

android:background="@drawable/putio_clickable_bg"

并将这一行放入我的 ListView 中:

android:listSelector="@drawable/putio_tab_indicator"

为什么会修复它,我不知道。也许这是Android中的错误?

于 2012-07-28T02:59:38.247 回答
1

不知道为什么它在没有看到代码的情况下这样做,但你总是可以将你的 ARGB 颜色转换为 RGB,使用这个:foreground * alpha + background * (1-alpha)

或者拍摄快照并直接拉出颜色(这会将您想要的颜色更改为 f7f077)。当然,如果您的背景不稳固,那么您不能这样做,但是从您的图片看来并非如此。

于 2012-07-28T02:30:45.800 回答
0

我不知道当您在 alpha 列中使用其他数字(例如“80”)时会发生什么。我只使用了“00”,尝试一下,因为它提供了具有大约 50% 不透明度的完美颜色。似乎不使用 0 会改变颜色。

希望这可以帮助。

于 2012-07-28T02:29:36.997 回答