我想在用户点击一个按钮时使用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文件。我清理了几次项目并重新启动了日食,但它仍然有下面的问号
答案 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"/>