我使用GridView实现了图库。网格项的布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants" >
<ImageView
android:id="@+id/media_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/thumbnail_for_image"
android:scaleType="centerCrop" />
<View
android:id="@+id/overlay_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground" />
</FrameLayout>
我的目标是在触摸网格项时获得这种漂亮的材质波纹效果。 不幸的是,我无法找到解决问题的纯解决方案。 所以我提出使用this,正如作者所说,解决方法 - 在主 ImageView 之上添加叠加查看,并将背景设置为
?attr/selectableItemBackground
将它放到ImageView的背景或父FrameLayout背景中不起作用。
我敢肯定,必须有更好的方法来处理它。
答案 0 :(得分:9)
android:drawSelectorOnTop="true"
完成了这个技巧
答案 1 :(得分:1)
如果你想在棒棒糖前版本中支持这种涟漪,我建议你使用像The ones here这样的涟漪库。我想使用?attr/selectableItemBackground
不会让你对前L型机器人产生涟漪。