2015-02-11 102 views
0

我想在用户点击一个按钮时使用2张图片来产生效果。 我认为我做得很好,但效果不起作用。Android按钮效果不起作用

具体来说,按钮背景设置为camera_button_after.jpg,它的意思是按下状态,点击时不会改变。

你能告诉我什么是错?我会非常感激。

这里是包含按钮的main_frame.xml。

main_btn1.xml,main_btn2.xml,main_btn3.xml是选择器。 这三个选择具有相同的结构,也同样的问题..

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

<Button 
    android:id="@+id/button001" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:background="@drawable/main_btn1" 
    android:text=" Mood" 
    android:textSize="30dp"/> 

<Button 
    android:id="@+id/button002" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:background="@drawable/main_btn2" 
    android:text=" Mood Lists" 
    android:textSize="30dp"/> 

<Button 
    android:id="@+id/button003" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:background="@drawable/main_btn3" 
    android:text=" Help" 
    android:textSize="30dp" /> 

</LinearLayout> 

这里是main_btn1.xml

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
     android:state_pressed="false" 
     android:drawable="@drawable/camera_button_before" /> 

    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/camera_button_after"/> 

</selector> 

一个问题is..I认为Eclipse不充分认识到图片和xml文件。我打扫项目几次,然后重新启动Eclipse的,但他们仍然有问号像下面

enter image description here

回答

0

我正面临类似的问题。我尝试了下面的代码。我确实从堆栈溢出本身获得了此解决方案,但没有链接供参考。因此,在可绘制文件夹中编写xml的代码片段。请记住提供正确的图像名称:)

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:state_enabled="false" 
    android:drawable="@drawable/image1" /> 
<item 
    android:state_pressed="true" 
    android:state_enabled="true" 
    android:drawable="@drawable/image2" /> 
<item 
    android:state_focused="true" 
    android:state_enabled="true" 
    android:drawable="@drawable/image3" /> 
<item 
    android:state_enabled="true" 
    android:drawable="@drawable/image4" /> 
</selector> 

让我知道它是如何为你工作的。

+0

它没有为我工作。我认为这是日食问题。我在最后一个问题的下面提出了一些额外的问题,你可以看看,并告诉我如何摆脱那个问号? – user3473222 2015-02-11 13:28:05

0

用这个替换你的xml。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item 

    android:drawable="@drawable/camera_button_before" /> 

<item 
    android:state_pressed="true" 
    android:drawable="@drawable/camera_button_after"/> 

+0

我之前做过,现在再次..但它没有工作..我认为这是日食问题。我在最后一个问题的下面提出了一些额外的问题,你可以看看,并告诉我如何摆脱那个问号? – user3473222 2015-02-11 13:28:30

+0

确保您的按钮是可点击的。并让你设置按钮上的点击监听器? – justDroid 2015-02-11 14:18:53

+0

+ _ + ;;我已经这样做了......但是谢谢〜 – user3473222 2015-02-11 14:32:39