我需要在运行时更改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解析器,但在获得渐变后,它显示没有更多节点
答案 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可绘制资源。