-2

I am trying to add ripple on my image button but it won't work

<ImageButton
    android:id="@+id/imageButton"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="139dp"
    android:background="@drawable/googleback"
    android:scaleType="fitXY"
    android:src="@drawable/google" />

This is my ripple code

<?xml version="1.0" encoding="utf-8"?> 
<ripple android:color="#fafafa">
<item android:id="@android:id/mask">
    <shape android:shape="rectangle">
        <solid android:color="?android:attr/colorControlHighlight" />
    </shape>
</item> </ripple>

1 Answers1

1
  1. Your code is incomplete
  2. Ripple only works in Android 5.0. Are you sure you're running your app on a 5.0 or newer version of AVD ?

According to Android L's Ripple Effect - Touch Feedback for Buttons - Using XML, You should set a Button ripple effect like this:

<ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:background="@drawable/ripple"/>

ripple.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
                      android:color="?android:colorControlHighlight">
        <item android:id="@android:id/mask">
            <shape android:shape="oval">
                <solid android:color="?android:colorAccent" />
            </shape>
        </item>
 </ripple>
Community
  • 1
  • 1
VulfCompressor
  • 1,390
  • 1
  • 11
  • 26