android XML改变渐变颜色

时间:2014-02-01 00:42:57

标签: android xml

我需要在运行时更改XML文件中的android:color

我将它用作图像按钮源

<ImageButton 
            android:layout_width="@dimen/large_brush"
            android:layout_height="@dimen/large_brush"
            android:background="@android:color/transparent"
            android:contentDescription="@string/paint"
            android:src="@drawable/paint"/>

我的XML绘图文件看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
    <shape
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval" >
        <stroke
            android:width="1dp"
            android:color="@android:color/holo_purple" />

        <gradient
            android:startColor="@android:color/holo_purple"
            android:endColor="@android:color/holo_purple" />

        <corners android:radius="10dp" />
    </shape>
</item>

</layer-list>

我尝试过DOM解析器,但在获得渐变后,它显示没有更多节点

2 个答案:

答案 0 :(得分:1)

尝试这样的方式。希望它对你有所帮助。感谢

创建一个新的xml文件并将其放入drawable中,然后将其添加到按钮作为背景

<强> gradient.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--  Gradient Bg for listrow -->
<gradient
  android:startColor="#f1f1f2"
  android:centerColor="#e7e7e8"
  android:endColor="#cfcfcf"
  android:angle="270" />
</shape>

<强> layout.xml

<Button
android:id="@+id/Button1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/gradient"
android:text="Button Text" >

答案 1 :(得分:0)

您将背景设置为透明,按钮将永远不会有背景。而是将它设置为XML可绘制资源。