在@drawable中将多个源传递到单个文件

时间:2014-06-13 07:12:41

标签: android

目前我有一个图像绑定到它的单个按钮,我想在其上添加一个点击效果(不是点击事件,一个效果)。好吧它工作得很好。我在drawable文件夹中创建了两个xml,并为其添加了样式和渐变。但现在我想添加更多按钮并对它们应用相同的点击效果。我可以为创建的多个按钮创建多个xml文件的一种方法。但是代码重用会发生什么?我想重用相同的xml文件来设置其他按钮的样式。可以吗?提前谢谢。

我的button.xml文件是:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/stb" />
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" />
    <item android:drawable="@drawable/stb" />
</selector>

我的gradient.xml是:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap android:src="@drawable/stb"/>
    </item>
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <gradient android:angle="90" android:startColor="#990f0f10" 
                       android:centerColor="#990d0d0f" 
                       android:endColor="#995d5d5e"/>
        </shape>
    </item>
</layer-list>

1 个答案:

答案 0 :(得分:0)

您可以根据需要将可绘制的xml选择器设置为尽可能多的视图。只需通过XML设置其他按钮的背景:

android:background="@drawable/button"

或代码:

yourSecondButton.setBackgroundResource(R.drawable.button);