按钮上的颜色状态列表+形状?

时间:2011-09-22 00:29:34

标签: android

我有一个像这样的州名单:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:drawable="@color/dark_green" />
    <item android:drawable="@color/bright_green" />

</selector>

这样的形状(用于舍入我的按钮):

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
 </shape>

我的问题是如何应用它们?如果我将backgroundResource设置为颜色列表,那么我会得到颜色,但是我无法将其用于形状。我尝试使用backgroundResource作为形状,使用backgroundColor作为颜色,但这不起作用。

2 个答案:

答案 0 :(得分:2)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:drawable="@color/dark_green" >
        <shape android:shape="rectangle">
           <corners android:bottomRightRadius="7dp" 
                    android:bottomLeftRadius="7dp" 
                    android:topLeftRadius="7dp" 
                    android:topRightRadius="7dp"/>
 </shape>
    <item/>
    <item android:drawable="@color/bright_green" />
</selector>

我做了类似你的事情。但是,当你使用dradwalbe时,它不起作用。如果你这样使用(使用solid to filing按钮不使用drawable,可以投掷圆形按钮),它可以工作。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
             <shape android:shape="rectangle"> 
         <solid android:color="#FFEC7600" />
         <corners
                        android:topLeftRadius="5dip"
                android:topRightRadius="5dip"
                android:bottomLeftRadius="5dip"
                android:bottomRightRadius="5dip" />
      </shape>
   </item>

答案 1 :(得分:1)

您是否尝试将其捆绑在LayerDrawable XML定义中? 类似于that