我知道可以通过在十六进制代码中添加alpha通道(#AARRGGBB)来设置不透明度,但如果我想使用一个值,而又不希望添加不透明度,该怎么办呢?
例如,我在我的colors.xml文件中使用了深蓝色#074EB2:
<color name="DarkBlue">#074EB2</color>
现在,我有一个带边框的自定义按钮背景。我想要边框使用这个深蓝色,但是增加透明度。按钮看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/DarkBlue"/>
<corners android:radius="2dp"/>
</shape>
我该如何添加透明度?我需要在colors.xml中添加一个新的值来表示透明度吗?比如,<color name="DarkBlueTransparent">#80074EB2</color>
?但问题是这种方式不可扩展。如果其他地方还需要使用这个颜色,但是需要80%或90%的透明度呢?我的colors.xml文件会因为不同的透明度数值而变得臃肿。