android修改color的alpha,给RGB加个A

写在开头,该文章修改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)

你可能感兴趣的:(android修改color的alpha,给RGB加个A)