写在开头,该文章修改alpha的方法不是通过view.setalpha()的形式。
有时候我们在修改alpha的时候,因为代码写法等情况,不能使用setalpha()方法修改,只能传入color来修改颜色的时候,可以使用该方法,亲测有效~
平时用到最多的color只包含了RGB三种颜色,如熟知的黑色:#000000
而加入了透明度(Alpha)的color就变成了ARGB,就是在原来的三色前面加了Alpha。
代码:
/**
* 给color添加透明度
* @param alpha 透明度 0f~1f
* @param baseColor 基本颜色
* @return
*/
public static int getColorWithAlpha(float alpha, int baseColor) {
int a = Math.min(255, Math.max(0, (int) (alpha * 255))) << 24;
int rgb = 0x00ffffff & baseColor;
return a + rgb;
}
使用:
var float = 0.6f
var newColor = ColorUtils.getColorWithAlpha(float, Color.WHITE)
view.setBackgroundColor(color)
网友评论