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

3

I have a state list like this:

<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个回答

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时它不起作用。如果你像这样使用(使用实心填充按钮而不是使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接