gpt4 book ai didi

android - 引用具有修改后的 alpha 的颜色资源

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:44 26 4
gpt4 key购买 nike

有没有办法在 xml 资源文件中引用具有修改后的 alpha 值的颜色资源?我正在寻找的是这样的东西:

<!-- base color -->
<color name="myColor">#19AEE0</color>
<!-- redefined color with alpha - not particularly elegant -->
<color name="myColor2">#8019AEE0</color>
<!-- referenced color with alpha -->
<color name="myColorTransparent" alpha="0.5">@color/myColor</color>

我知道这可以通过编程方式轻松完成,但是在为相同颜色定义多个透明度值时,以声明方式进行会更清晰、更易读。

最佳答案

在四处搜索以将颜色重音设置为波纹可绘制对象的颜色后,我发现这可以借助 <selector> 来完成。 .

添加 color资源文件夹(如果不存在)并在那里创建一个新文件,其基本名称将用作颜色资源。例如,将其命名为 my_color_transparent.xml .然后,粘贴以下内容。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:color="@color/myColor"
android:alpha=".5" />
</selector>

此时,您可以将其引用为 @color/my_color_transparent通过 XML 或像往常一样以编程方式,如 values 中的颜色文件夹。

注意:android:alpha属性被用作掩码,因此 alpha 乘以通过 android:color 指定的颜色的 alpha属性。例如,如果 @color/myColor是 20% 不透明和 android:alpha.5 , 然后是 @color/my_color_transparent 的不透明度将是 10%。

关于android - 引用具有修改后的 alpha 的颜色资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com