2017-09-24 79 views
1

這裏是我的action_btn_state繪製如何在單擊按鈕狀態時設置背景,文字顏色和邊角?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

<item android:state_focused="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 
</item> 

<item 
    android:drawable="@null" 
    android:color="@color/colorAccent" > 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

這是我的佈局

<Button 
      android:layout_width="70sp" 
      android:layout_height="30sp" 
      android:layout_marginRight="8sp" 
      android:padding="0sp" 
      android:layout_gravity="center" 
      android:textColor="@color/msg_item_action_btn" 
      android:background="@drawable/action_btn_state" 
      android:text="Like"/> 

,這裏是我的輸出,我採取的截圖時,第一個按鈕是clicked.As你可以看到它沒有圓角,顏色不會變成白色,而默認陰影即將到來,我不想要。任何人都可以幫助我如何實現這一目標。

enter image description here

回答

0

您應該使用一個選擇你的按鈕等按壓,突出重點,...在單獨的XML文件狀態的不同狀態,並將其設置爲你的背景按鈕 這裏是一個選擇的樣本代碼按鈕:

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

您可以使用圓形和顏色定義另一個用於按下狀態的xml文件,並在此選擇器中進行設置。