2012-08-08 77 views
6

我想用下面的选择器按钮:的Android按钮背景选择

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/jobs" android:state_pressed="true"> 
     <shape android:shape="rectangle"> 
      <corners android:radius="5dp" /> 
     </shape> 
<scale android:scaleHeight="90%" android:scaleWidth="90%" /> 
    </item> 
    <item android:drawable="@drawable/jobs"></item> 

</selector> 

但它不工作。 我想用相同的drawable来制作按钮圆角和10%的小尺寸。其实我想用一个drawable来给按钮效果一个按钮。可能吗?

回答

14

我觉得最好分开状态逻辑和可绘制代码。从Android文档:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/button_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" 
      android:drawable="@drawable/button_focused" /> <!-- focused --> 
    <item android:state_hovered="true" 
      android:drawable="@drawable/button_focused" /> <!-- hovered --> 
    <item android:drawable="@drawable/button_normal" /> <!-- default --> 
</selector> 

我会然后把代码给圆角在一个单独的XML绘制。我不确定你是否可以直接在selector中做这样的事情。