在imageButton上实现涟漪效果

时间:2017-10-01 13:17:23

标签: android imagebutton

我试图在Imagebutton中实现涟漪效果。

activty_main.xml

        <ImageButton
        android:id="@+id/idbuttonsix"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/iconagift"
        android:background="@drawable/ripple_effect"

我已尝试实施此代码,我在触摸时不会对ImageButton产生连锁反应:

android:foreground="?android:attr/selectableItemBackground"

和这个

android:background="?attr/selectableItemBackgroundBorderless"

我正在寻找可以一步一步帮助我的人。

ripple_effect.xml

<?xml version="1.0" encoding="utf-8"?>
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorAccent">
<item>
    <shape
        android:shape="rectangle">
        <solid android:color="#4CAF50" />
    </shape>
</item>

3 个答案:

答案 0 :(得分:0)

enter image description here

使用此库(android 9+):RippleEffect

<强>集成

dependencies {
    compile 'com.github.traex.rippleeffect:library:1.3'
}

<强>用法:

<com.andexert.library.RippleView
  android:id="@+id/more"
  android:layout_width="?android:actionBarSize"
  android:layout_height="?android:actionBarSize"
  android:layout_toLeftOf="@+id/more2"
  android:layout_margin="5dp"
  rv_centered="true">

  <ImageView
    android:layout_width="?android:actionBarSize"
    android:layout_height="?android:actionBarSize"
    android:src="@android:drawable/ic_menu_edit"
    android:layout_centerInParent="true"
    android:padding="10dp"
    android:background="@android:color/holo_blue_dark"/>

</com.andexert.library.RippleView>

我希望这对你有所帮助。

答案 1 :(得分:0)

尝试从imageview中删除src标记,然后尝试添加此背景(而不是前景):

机器人:背景=&#34;机器人:?ATTR / selectableItemBackground&#34;

答案 2 :(得分:0)

&#13;
&#13;
<ImageButton
    android:id="@+id/idbuttonsix"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="?android:attr/selectableItemBackground"/>
&#13;
&#13;
&#13;

请注意,我删除了&#34; src&#34;在这里标记并且刚刚使用&#34;背景&#34;属性。这肯定会让你对这个按钮产生连锁反应。