寫在開頭粱挡,該文章修改alpha的方法不是通過view.setalpha()的形式。
有時候我們在修改alpha的時候俄精,因?yàn)榇a寫法等情況询筏,不能使用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)