【发布时间】:2020-05-04 17:47:00
【问题描述】:
有没有办法从布尔资源中获取可绘制资源?
例如:
bools.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="use_version_1_drawables">true</bool>
</resources>
my_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/my_drawable_version_1"/>
<item android:drawable="@drawable/my_drawable_version_2"/>
</selector>
是否有我应该使用的特定状态,因为据我了解,它们都与特定事件(检查、聚焦等)有关。也许我不应该使用选择器。我只是想拥有一个我可以调用的资源,它实际上链接到另外两个资源,但会根据我的布尔值选择一个。
【问题讨论】:
-
你打算用哪种方式改变
use_version_1_drawables的值? -
@art 我正在编写一个模块,所以我打算在使用该模块时,您所要做的就是添加一个 id 为
user_version_1_drawables的布尔值并将其设置为您想要的任何值. -
您可以使用可绘制 id 的数组(在 xml 中)。每个数组将有两个条目,位置 0 表示假,位置 1 表示真。例如,请参阅 this post 了解如何获取实际的可绘制对象
标签: android android-studio android-drawable android-selector