-3

I want to make a method that takes a color as input, makes it 50 percent transparent and returns it.(for example #FFFFFF as input and #50FFFFFF as output). how to do that?

4

2 回答 2

4

android 中的颜色只是具有 ARGB 值的整数。

public int setAlpha(int color, int alpha) {
    return (alpha << 24) | (color & 0x00ffffff);
}

如果您更喜欢以百分比指定 alpha,而不是从 0 到 255,您可以这样做

public int setAlpha(int color, int alphaPercentage) {
    int alpha = alphaPercentage * 255 / 100;
    return (alpha << 24) | (color & 0x00ffffff);
}
于 2013-09-12T15:16:51.970 回答
0

可能是我的解决方案有点无聊..但我可以提出一些建议..

颜色代码是十六进制,所以转换成十进制。

将十进制除以 2 并再次将结果转换回十六进制。

示例:- FFFFFF = 16777215/2 = 8388607 = 7FFFFF..

于 2013-09-12T15:24:52.103 回答