为了描述我的问题,我创建了一个小例子
我有imagelay和textview的线性布局.对于linearlayout,我将波纹绘制为背景.但是当我点击或长按在imageview下的linearlayout波纹动画节目时.如何在imageview上显示动画?
main.xml中
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/linear" android:layout_width="200dp" android:layout_height="200dp" android:background="@drawable/ripple" android:clickable="true" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="100dp" android:src="@mipmap/index" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is ripple test" android:textColor="#FF00FF00" /> </LinearLayout> </android.support.constraint.ConstraintLayout>
绘制-V21 / ripple.xml:
<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#FFFF0000"> <item> <shape android:shape="rectangle"> <solid android:color="#FF000000"/> </shape> </item> </ripple>
绘制/ ripple.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:radius="3dp" /> <solid android:color="#FFFF0000" /> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle"> <corners android:radius="3dp" /> <solid android:color="#FFFF0000" /> </shape> </item> <item> <shape android:shape="rectangle"> <corners android:radius="3dp" /> <solid android:color="#FF000000" /> </shape> </item> </selector>
解决方法
为ImageView添加android:background =“@ null”