Android按钮效果不起作用

时间:2015-02-11 13:00:07

标签: android xml

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

具体来说,按钮背景设置为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>

还有一个问题是..我认为eclipse并不能完全识别图片和xml文件。我清理了几次项目并重新启动了日食,但它仍然有下面的问号

enter image description here

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。我尝试了下面的代码。我确实从堆栈溢出本身得到了这个解决方案,但没有它的链接供参考。所以在drawable文件夹中编写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>

让我知道它对你有用。

答案 1 :(得分: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"/>