说我有这个代码:
int color = tv.getCurrentTextColor();
我如何仅更改此颜色的Alpha?
例如:
如果颜色是0x00ffffff,我怎么把它改成0xffffffff?
是否有方法或我需要做一些hex / int操作?
解决方法
好吧,直接回答你的问题“如果颜色是0x00ffffff,我怎么把它改成0xffffffff?”简单地按位使用复合或:
color | = 0xff000000;.
color | = 0xff000000;.
但我想也许有些同事宁愿你在Android开发的java方面没有做过这样的事情:你有一个很棒的帮助类叫做graphics.Color provided by Android!它在下面做了同样的事情,但是真的会帮助你的代码可读性,特别是考虑到android中的int类型颜色不一定是十六进制颜色值,但也可以指向颜色xml中的资源的artbirary id.哎呀.
例如:
int color = tv.getCurrentTextColor(); int newColor = Color.argb(yourNewAlphaVal,Color.red(color),Color.green(color),Color.blue(color))
不快,但我猜你不需要它.
当然,这是关于在这里使用什么的个人意见,我希望这有帮助!