考虑以下基于矢量的可绘制资源......
@绘制/ icon_circled_plus:
<?xml version="1.0" encoding="UTF-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:name="circledMinus"
android:width="128dp"
android:height="128dp"
android:viewportWidth="128"
android:viewportHeight="128">
<path
android:name="border"
android:pathData="M 124,64 C 124,97.14 97.14,124 64,124 C 30.86,124 4,97.14 4,64 C 4,44.43 13.37,27.04 27.87,16.09 C 37.92,8.5 50.44,4 64,4 C 97.14,4 124,30.86 124,64 Z"
android:fillColor="#0000FF"
android:strokeColor="#0000FF"
android:strokeWidth="8" />
<path
android:name="glyph"
android:pathData="M 24,71 L 104,71 L 104,57 L 24,57 L 24,71 Z"
android:fillColor="#FFFFFF" />
</vector>
我知道我可以在我的布局文件中使用它:
<ImageView
android:id="@+id/mainImageView"
android:layout_width="match_parent"
android:layout_height="32dp"
android:src="@drawable/icon_circled_plus" />
我的问题是如何以编程方式访问drawable中的各个元素,以便我可以在代码中修改它们?
例如,&#39; border&#39;同时具有蓝色的填充和描边颜色。如果我想根据某些应用程序逻辑将它们更改为红色怎么办?这可以在不必将其转换为自定义绘图或创建多个可绘制资源的情况下完成吗?