Android
创建带 alpha
值的 颜色资源
方式一:代码创建 androidx.core.graphics.ColorUtils#setAlphaComponent()
- 先来看下源码构成
-
使用:创建一个带
alpha=0.5f
值的#039BE5
颜色值findViewById<View>(R.id.image1).setBackgroundColor( ColorUtils.setAlphaComponent( getColor(R.color.myColor), 255 / 2 ) )
- 效果:上面的
ImageView
背景色是刚通过代码设置的,下面的ImageView
背景色是通过xml
资源设置的
- 效果:上面的
方式二:通过color
资源定义
-
在
/res
文件下创建一个color
文件夹 -
然后在刚刚创建好的
color
文件夹中new
一个color resource
:mycolor_alpha_50.xml
- 注意啊,这个
android:alpha
要手打(很淦!),谷歌偷偷用不给俺们用,取值范围是[0f, 1f]
,对应上面代码参数alpha
值的[0, 255]
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/myColor" android:alpha="0.5"/> </selector>
- 注意啊,这个
-
然后就能在布局文件直接引用这个带
alpha
的颜色了(还有注意的问题哦,一般设计师给的都是不透明度值 opacity
,和alpha
值互补) -
效果:上面的
view
的背景是原色,下面的view
背景是刚刚color
资源里定位的alpha=0.5f
的