2011-10-25 35 views
2

我有這樣定義的按鈕樣式:是否可以在<style>元素內設置背景圖像?

<style name="button_style"> 
    <item name="android:textColor">#ffffff</item> 
    <item name="android:background">@drawable/button_on_red</item> 
</style> 

我,如果我可以設置這裏面喜歡琢磨的背景圖像:

<style name="button_style"> 
      <item name="android:background_when_pressed">@drawable/button_off_red</item> 
    <item name="android:textColor">#ffffff</item> 
    <item name="android:background">@drawable/button_on_red</item> 
</style> 

感謝。

回答

2

你會想要使用所謂的「狀態列表drawable」。你會創建繪製作爲像這樣的xml文件:

button_states.xml

<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作爲背景的按鈕,像這樣:

<style name="button_style"> 
    <item name="android:textColor">#ffffff</item> 
    <item name="android:background">@drawable/button_states</item> 
</style> 

有關詳細信息,結帳這個documentation

相關問題