在Android上有一种简单的方法来设置从getResources().getColor(id)
检索到的颜色的alpha分量吗?
例如,我正在做的是将现有颜色更改为70%不透明度:
DrawerLayout drawerLayout = ...;
int color = getResources().getColor(R.color.bgColor);
color &= 0x00FFFFFF;
color |= (((int) (0.7 * 0xFF)) << 24);
drawerLayout.setScrimColor(color);
答案 0 :(得分:2)
使用帮助程序类Color
。您可以轻松检索四个组件,alpha,red,green和blue,并使用Color.argb
将其设置回来。该类只有静态方法,您不需要实例化它。 E.g。
int alpha = Color.alpha(color);
int red = Color.red(color);
int green = Color.green(color);
int blue = Color.blue(color);
int newColor = Color.argb((int)(alpha * 0.7f), red, green, blue);
Here您可以找到文档