使用选择器在ImageButton上不显示形状

时间:2016-08-02 03:44:27

标签: android android-imagebutton

我试图通过选择器在图像按钮中给出点击效果,我使用了形状。但问题是当我使用选择器与android:背景只有左上角的小部分变成橙色。

选择器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"/>

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

2 个答案:

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

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