我的视图有很多按钮。每个按钮都有不同的图像资源。
我想改变每个按钮的点击和悬停效果,如下所示:
按钮1
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn1_selector"
android:text="name"
/>
btn1_selector :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/hover_btn" android:state_pressed="true"></item>
<item android:drawable="@drawable/hover_btn" android:state_focused="true">/item>
<item android:drawable="@drawable/btn1"></item>
</selector>
按钮2
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn2_selector"
android:text="name"
/>
btn2_selector :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/hover_btn" android:state_pressed="true"></item>
<item android:drawable="@drawable/hover_btn" android:state_focused="true">/item>
<item android:drawable="@drawable/btn2"></item>
</selector>
// etc...
问题是我必须为所有按钮创建许多选择器。但我只需要使用1张图片hover_btn.png
更改所有这些的悬停状态。左边是否有任何方法可以暂停而不为所有按钮创建所有选择器?
答案 0 :(得分:-1)
我尝试了您的源代码。我发现了一个小问题。
</item>
btn_selector1
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/hover_btn" android:state_pressed="true"></item>
<item android:drawable="@drawable/hover_btn" android:state_focused="true"></item>
<item android:drawable="@drawable/btn1"></item>
</selector>
btn2_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/hover_btn" android:state_pressed="true"></item>
<item android:drawable="@drawable/hover_btn" android:state_focused="true"></item>
<item android:drawable="@drawable/btn2"></item>
</selector>