在android上更改没有选择器的悬停图像按钮

时间:2015-11-11 15:11:32

标签: android android-selector

我的视图有很多按钮。每个按钮都有不同的图像资源。
我想改变每个按钮的点击和悬停效果,如下所示:

按钮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更改所有这些的悬停状态。左边是否有任何方法可以暂停而不为所有按钮创建所有选择器

1 个答案:

答案 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>