2016-08-02 20 views
1

我想通过选择器给图像按钮点击效果,我已经使用形状。但问题是,当我用android选择器:背景只有左上角的一小部分变成橙色。形状不会出现在ImageButton使用选择器

选择XML

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

<item android:state_pressed="true" > 
    <shape android:shape="rectangle"> 
     <solid android:color="@color/orange"/> 
    </shape> 
</item> 

</selector> 

和我的形象XML

<ImageButton 
    style="@style/icon" 
    android:background="@drawable/icon_selector" 
    android:src="@drawable/fear_96" 
    android:scaleType="fitXY" /> 

但是,当我改变从背景选择为src则没有发生

<ImageButton 
    style="@style/icon" 
    android:background="@drawable/fear_96" 
    android:src="@drawable/icon_selector" 
    android:scaleType="fitXY"/> 

请帮助我如何能给点击效果使用选择器?

+0

你能不能说说你想达到什么效果解释一下吗? –

+0

当按下图像图标或在图标上出现触摸橙色时,用户可以感觉到该图像是按下的按钮 – FaisalAhmed

+0

因此,当您触摸或向右按下时,橙色将覆盖图像? –

回答

1

使用下面的代码改变android:colorandroid:drawable,你可以使用颜色绘制见图片。

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/orange" 
      android:state_pressed="true" /> 
    <item android:drawable="@color/orange" 
      android:state_focused="true" /> 
    <item android:drawable="@drawable/fear_96" /> 
</selector> 

设置为背景

<ImageButton 
    style="@style/icon" 
    android:background="@drawable/icon_selector" 
    android:scaleType="fitXY" /> 
+0

@FaisalAhmed如果在这里仍然有一些问题评论。 –

+0

Jazakallah bhai。它正在工作 – FaisalAhmed

+0

@FaisalAhmed伟大的快乐编码,并保持帮助你的兄弟。 –

0

icon_selector XML

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="@color/orange" 
      android:state_pressed="true" /> 
    <item android:color="@color/orange" 
      android:state_focused="true" /> 
    <item android:drawable="@drawable/fear_96" /> 
</selector> 

而在你的ImageButton

<ImageButton 
    style="@style/icon" 
    android:background="@drawable/icon_selector" 
    android:scaleType="fitXY" /> 
+0

后添加您的XML文件它给出了致命的例外︰主 android.view.InflateException:二进制XML文件行#63:错误膨胀类ImageButton – FaisalAhmed

+0

@FaisalAhmed可以删除'style =“@ style/icon”'并且再次运行 –