Android - 仅更改alpha TextView的文本

Igo*_*gor 7 android alpha colors textview

说我有这个代码:

int color = tv.getCurrentTextColor();
Run Code Online (Sandbox Code Playgroud)

如何仅更改此颜色的Alpha?

例如:

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

有没有方法或我需要做一些hex/int操作?

Tom*_*Tom 21

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

但我想也许有些同事宁愿你在Android开发的java方面没有做过这样的事情:你有一个graphics.Color 由Android提供的精彩助手类!它在下面做了同样的事情,但是真的会帮助你的代码可读性,特别是考虑到intandroid 中的类型颜色不一定是十六进制颜色值,但也可以指向colorxml中资源的artbirary id .哎呀.

例如:

int color = tv.getCurrentTextColor();
int newColor = Color.argb(yourNewAlphaVal, Color.red(color), Color.green(color), Color.blue(color))
Run Code Online (Sandbox Code Playgroud)

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

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