我试图在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>
答案 0 :(得分:0)
使用此库(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)
<ImageButton
android:id="@+id/idbuttonsix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"/>
&#13;
请注意,我删除了&#34; src&#34;在这里标记并且刚刚使用&#34;背景&#34;属性。这肯定会让你对这个按钮产生连锁反应。