Android涟漪效应与imageView/GIF重叠
我在循环视图中有一个列表项,我想在整个元素上获得涟漪效果-目前我的GIF与涟漪重叠。我不知道如何解决这个问题,在研究后已经尝试了很多方法,但都没有效果 下面是我构建每个列表项所基于的特定XML文件Android涟漪效应与imageView/GIF重叠,android,imageview,ripple,Android,Imageview,Ripple,我在循环视图中有一个列表项,我想在整个元素上获得涟漪效果-目前我的GIF与涟漪重叠。我不知道如何解决这个问题,在研究后已经尝试了很多方法,但都没有效果 下面是我构建每个列表项所基于的特定XML文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_p
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/selector"
android:clickable="false">
<pl.droidsonroids.gif.GifTextView
android:layout_width="84dp"
android:layout_height="84dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:paddingRight="1dp"
android:paddingLeft="1dp"
android:background="@drawable/a_present_for_you"
/>
<TextView
android:id="@+id/textView"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/black"
android:textSize="16sp"
android:gravity="center_vertical"
android:drawableRight="@drawable/ic_lock_open_blue_24dp"
android:drawablePadding="16dp">
</TextView>
</LinearLayout>
有什么想法吗?涟漪效应不会传播,因为你在同一直线布局中有两个不同的背景。您可以尝试将涟漪效应设置为整个线性布局。涟漪效应不会传播,因为在同一线性布局中有两个不同的背景。您可以尝试将连锁反应设置为整个线性布局。使用
FrameLayout
如何?使用FrameLayout
而不是LinearLayout
包装这两个元素,并使用自定义选择器设置此布局的android:foreground
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:foreground="@drawable/selector">
<pl.droidsonroids.gif.GifTextView
android:layout_width="84dp"
android:layout_height="84dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:paddingRight="1dp"
android:paddingLeft="1dp"
android:background="@drawable/a_present_for_you"
/>
<TextView
android:id="@+id/textView"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/black"
android:textSize="16sp"
android:gravity="center_vertical"
android:drawableRight="@drawable/ic_lock_open_blue_24dp"
android:drawablePadding="16dp">
</TextView>
</FrameLayout>
使用
框架布局如何?使用FrameLayout
而不是LinearLayout
包装这两个元素,并使用自定义选择器设置此布局的android:foreground
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:foreground="@drawable/selector">
<pl.droidsonroids.gif.GifTextView
android:layout_width="84dp"
android:layout_height="84dp"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:paddingRight="1dp"
android:paddingLeft="1dp"
android:background="@drawable/a_present_for_you"
/>
<TextView
android:id="@+id/textView"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/black"
android:textSize="16sp"
android:gravity="center_vertical"
android:drawableRight="@drawable/ic_lock_open_blue_24dp"
android:drawablePadding="16dp">
</TextView>
</FrameLayout>
只需使用以下属性:-
android:background=“?attr/selectableItemBackground”
对于简单的涟漪效应。
用于圆形波纹效应
android:background=“?attr/selectableitemsbackgroundless”
在主根目录中。只需使用以下属性:-
android:background=“?attr/selectableItemBackground”
对于简单的涟漪效应。
用于圆形波纹效应
android:background=“?attr/selectableitemsbackgroundless”
在主根中。是的,我认为这就是问题所在,但我无法以不同的方式显示gif。用android:drawableLeft=“@drawable/a\u present\u for\u you”
代替了android:background=“@drawable/a\u present\u for\u you”
,但仍然重叠。把它设置为整个线性布局,你到底是什么意思?我想我已经通过在顶部设置了android:background=“@drawable/selector”
。
试着在你的线性布局中设置android:clickable=“true”
。是的,我想这就是问题所在,但我无法以不同的方式显示gif。用android:drawableLeft=“@drawable/a\u present\u for\u you”
代替了android:background=“@drawable/a\u present\u for\u you”
,但仍然重叠。您将其设置为整个线性布局的确切含义是什么?我想我已经通过在顶部设置了android:background=“@drawable/selector”
。
尝试在线性布局中设置android:clickable=“true”
,刚刚测试过,效果很好!但最后我还是选择了让gif与涟漪重叠的方式,因为我意识到它在正确的环境下看起来非常棒。刚刚测试过,效果非常好!但最后我还是选择了让gif与涟漪重叠的方式,因为我意识到它在正确的环境下看起来非常棒。