2012-08-08 76 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中做這樣的事情。