【发布时间】:2016-10-07 18:41:30
【问题描述】:
我有三个 XML 文件。首先,第二个是我正在应用一些渐变开始颜色,结束颜色,第三个是我正在检查按下状态(更改 Bg 的真或假)。如何动态更改我的前两个 XML 渐变开始颜色和结束颜色(1.blue_rounded_bg 和 2.gray_rounded_bg),并且动态开始颜色和结束颜色反映我的第三个文件(按下状态检查 - 3,blue_btn)?
第一个 XML 文件:蓝色 Bg(文件名:blue_rounded_bg)
<?xml version="1.0" encoding="UTF-8"?>
<corners
android:bottomLeftRadius="@dimen/size25"
android:bottomRightRadius="@dimen/size25"
android:topLeftRadius="@dimen/size25"
android:topRightRadius="@dimen/size25" />
<padding
android:bottom="@dimen/size5"
android:left="@dimen/size5"
android:right="@dimen/size5"
android:top="@dimen/size5" />
<solid android:color="@color/btn_gray" />
<gradient
android:angle="270"
android:startColor="@color/btn_blue"
android:endColor="@color/btn_light_blue"
android:type="linear" />
第二个 XML 文件:灰色 Bg(文件名:gray_rounded_bg)
<?xml version="1.0" encoding="UTF-8"?>
<corners
android:bottomLeftRadius="@dimen/size25"
android:bottomRightRadius="@dimen/size25"
android:topLeftRadius="@dimen/size25"
android:topRightRadius="@dimen/size25" />
<padding
android:bottom="@dimen/size5"
android:left="@dimen/size5"
android:right="@dimen/size5"
android:top="@dimen/size5" />
<solid android:color="@color/btn_gray" />
第三个 XML 文件:我正在使用以下代码检查按下状态(文件名:blue_btn)
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/gray_rounded_bg" android:state_pressed="true" />
<item android:drawable="@drawable/gray_rounded_bg" android:state_enabled="false" />
<item android:drawable="@drawable/blue_rounded_bg" />
我的普通 XML 代码
<Button
android:id="@+id/cont_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/blue_btn"
android:padding="@dimen/size6" />
然后,我如何动态更改可绘制渐变的起始颜色、结束颜色以及这些变化反映在
<item android:drawable="@drawable/gray_rounded_bg" android:state_pressed="true" />
这个文件也是?有没有可能?
【问题讨论】:
标签: android gradient android-xml