2011-04-20 107 views

回答

8

how button is styled看看由Android:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_window_focused="false" android:state_enabled="true" 
     android:drawable="@drawable/btn_default_normal" /> 
    <item android:state_window_focused="false" android:state_enabled="false" 
     android:drawable="@drawable/btn_default_normal_disable" /> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/btn_default_pressed" /> 
    <item android:state_focused="true" android:state_enabled="true" 
     android:drawable="@drawable/btn_default_selected" /> 
    <item android:state_enabled="true" 
     android:drawable="@drawable/btn_default_normal" /> 
    <item android:state_focused="true" 
     android:drawable="@drawable/btn_default_normal_disable_focused" /> 
    <item 
     android:drawable="@drawable/btn_default_normal_disable" /> 
</selector> 

款式与Android的主题图片资源的按钮,只需通过复制Android的一个创建你自己的选择,并通过@android:drawable/btn_default_normalitem s个标签替换所有@drawable/btn_default_*(并删除item你不想要的)。例如:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
     android:drawable="@android:drawable/btn_default_normal" /> 
</selector> 

然后,将此绘制选择作为按钮的android:background

希望它有帮助。

(如果你愿意,我也可以提供很容易将这种背景下所有按钮的例子,就问我。)

+0

Thankzz的帮助,但我并没有设置任何背景色/图像此按钮。我只是想要覆盖默认按钮颜色更改功能的属性。在我们的例子中,我们应该添加很多图片作为背景 – Jomia 2011-04-20 09:28:19

+1

这就是它的工作原理。对于每个州,都有不同的图像。在我的例子中,我只是强迫背景为每个状态使用相同的图像。为了完成你想要做的事情,你只需要一个图像(这是由Android本身提供的)。这是最简单的方法,您不必在每个创建的按钮上处理任何“OnClickListener”。但这取决于你:) – OcuS 2011-04-20 09:52:19

+1

Jomia - “如果你愿意,我还可以提供一个将这个背景轻松应用于所有按钮的例子,请问。”询问头脑想知道。 – 2013-08-13 08:57:34