我创建了一个自定义的多层可绘制对象,用作按钮的背景。有时候,我想让这个可绘制对象的一部分为蓝色,有时候我想把它变成绿色。关键是,它是一个变量,并且我希望在相应的自定义视图XML中定义它。
这是否可能?我如何编写一个可在运行时确定值的XML可绘制对象? custom_button.xml
这是否可能?我如何编写一个可在运行时确定值的XML可绘制对象? custom_button.xml
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="@dimen/button_inset_horizontal_material"
android:insetTop="@dimen/button_inset_vertical_material"
android:insetRight="@dimen/button_inset_horizontal_material"
android:insetBottom="@dimen/button_inset_vertical_material">
<shape android:shape="rectangle">
<corners android:radius="@dimen/control_corner_material" />
<solid android:color="?attr/colorButtonNormal" />
<padding android:left="@dimen/button_padding_horizontal_material"
android:top="@dimen/button_padding_vertical_material"
android:right="@dimen/button_padding_horizontal_material"
android:bottom="@dimen/button_padding_vertical_material" />
</shape>
</inset>
这行代码 <solid android:color="?attr/colorButtonNormal" />
是我想在运行时设置的。我已经有了这个类的自定义视图,已经接收到了我想要在此处使用的颜色值 - 我该如何将其应用于此可绘制对象的XML中?