Android - 仅更改alpha TextView的文本

时间:2013-08-05 13:45:40

标签: android colors textview alpha

说我有这段代码:

int color = tv.getCurrentTextColor();

我如何仅更改此颜色的Alpha?

例如:

如果颜色为0x00ffffff,我该如何将其更改为0xffffffff

是否有方法或我需要进行一些hex / int操作?

1 个答案:

答案 0 :(得分:20)

嗯,对你的问题的直接回答“如果颜色是0x00ffffff,我怎么把它改成0xffffffff?”简单地按位使用复合或者: color |= 0xff000000;

但我想也许有些同事宁愿你在Android开发的java方面没有做过这样的事情:你有一个很棒的帮助类叫graphics.Color provided by Android!它在下面做了同样的事情,但是真的会帮助你的代码可读性,特别是考虑到android中的int类型颜色不一定是十六进制颜色值,但也可以指向一个资源的artbirary id color xml。int color = tv.getCurrentTextColor(); int newColor = Color.argb(yourNewAlphaVal, Color.red(color), Color.green(color), Color.blue(color)) 哎呀。

例如:

{{1}}

不快,但我猜你不需要它。

当然,这是关于在这里使用什么的个人意见,我希望这有帮助!