gpt4 book ai didi

android - 具有相同图像但不透明度不同的可绘制选择器

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

我想用下一个想法节省应用程序空间。但我不确定这是否可能。

我想要选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/arrow_forward" android:state_enabled="true" />
<item android:drawable="@drawable/arrow_forward_disabled" android:state_enabled="false"/>
</selector>

arrow_forward 是 png 图像,arrow_forward_disabled 是相同的图像,但不透明度为 70%。我试图用 layer-list drawable 来实现它,但没有成功。有解决办法吗?

最佳答案

无法在 xml 中应用不透明度。只能使用两个图像。

-

您正在使用 PNG 文件,您将必须创建 2 个具有不同不透明度的 png。

1º PNG - 启用。 100% 不透明度。

2º PNG - 禁用。 70% 不透明度。

在此之后,您需要创建一个具有 2 种不同状态的选择器 XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/btn_disabled" />
<item android:drawable="@drawable/btn_active" />
</selector>

您还可以通过 ARGB 的 alpha (#AARRGGBB) 使用具有不同不透明度的形状按钮。示例:# 80FFFFFF(50% 不透明度)( Source )

例子:

启用:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="20dp"/>
<solid android:color="#002aff" />
</shape>

禁用(70% 不透明度:#b3002aff):

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="20dp"/>
<solid android:color="#b3002aff" />
</shape>

关于android - 具有相同图像但不透明度不同的可绘制选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153122/

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