2011-04-01 34 views
3

我已经通过引用this文章创建了具有自定义图像的按钮小部件。我为onclick和onfocus设置了图像。但是我只能看到按钮的正常图像,当我对焦或按下按钮时没有任何变化。布局变化未在应用程序中反映

这里是我的代码:

custom_button.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/ic_reload_4" /> 
    <item 
     android:drawable="@drawable/ic_reload_2" 
     android:state_pressed="true" /> 
    <item 
     android:drawable="@drawable/ic_reload_3" 
     android:state_focused="true" /> 
</selector> 

布局:

<Button 
    android:id="@+id/reload_btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/custom_button" /> 

图像被放置在绘制文件夹。我不知道为什么它不工作。我也遇到了布局方面的问题,例如,在选择“布局”选项卡时,可以看到日食中的更改,但在更新应用程序后未显示在应用程序中。任何人都可以帮助我在此...

回答

2

你的选择应该是这样的:

<?xml version="1.0" encoding="UTF-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:drawable="@drawable/ic_reload_2" 
     android:state_pressed="true" /> 
    <item 
     android:drawable="@drawable/ic_reload_3" 
     android:state_focused="true" /> 
<item android:drawable="@drawable/ic_reload_4" /> 
</selector> 

即您必须将默认item结束。看起来,Android充气像switch-case块。

+0

谢谢!!这是我的错误,我没有完全遵循文档:) – 2011-04-04 05:45:35

+0

我也注意到,对于某些情况下,更改显示在eclipse(布局选项卡)中,但不在应用程序中。例如:我在布局中有3个标题。我已经用strings.xml中定义的颜色值设置了所有3个头文件的背景,我可以看到eclipse中的更改,但在我的应用程序中,更改应用于第一个头。你有什么想法吗? – 2011-04-04 05:52:07