在代码中编辑按钮形状(笔触,渐变)

时间:2013-07-08 17:20:44

标签: android button background gradient shape

我有一个具有以下背景的按钮:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"><shape android:shape="oval">
        <gradient android:centerX="50%" android:centerY="50%" android:endColor="#d91d1d" android:gradientRadius="20" android:startColor="#8c3131" android:type="radial" />

        <corners android:radius="5dp" />

        <stroke android:width="1.75dp" android:color="#DF1B1D" />

        <padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="1dp" />
</shape></item>
<item><shape android:shape="oval">
        <gradient android:centerX="50%" android:centerY="50%" android:endColor="#d91d1d" android:gradientRadius="20" android:startColor="#8c3131" android:type="radial" />

        <corners android:radius="5dp" />

        <stroke android:width="1.10dp" android:color="#FFFFFF" />

        <padding android:bottom="2dp" android:left="4dp" android:right="4dp" android:top="1dp" />
</shape></item>

我需要在代码中编辑渐变颜色和笔触颜色(两者的颜色不同)。 (我有~20个州可能) 找不到如何编辑按钮的笔触颜色或渐变颜色。

感谢的

1 个答案:

答案 0 :(得分:1)

您无法从代码编辑资源文件。因此,如果您想从代码更改drawable,请不要使用固定的drawable xml。请改用GradientDrawable来创建代码中的drawable。