我试图在我的RecyclerVIEw上实现涟漪效应.这是我的布局:
<androID.support.v7.Widget.CardVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:card_vIEw="http://schemas.androID.com/apk/res-auto" androID:ID="@+ID/card" androID:layout_margintop="7dp" androID:layout_marginleft="16dp" androID:layout_marginRight="16dp" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" card_vIEw:cardCornerRadius="5dp" androID:clickable="true" card_vIEw:cardElevation="5dp" androID:focusable="true" androID:foreground="?androID:attr/selectableItemBackground"> <linearLayout androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="vertical" androID:padding="16dp"> <TextVIEw //some propertIEs /> <TextVIEw //some propertIEs /> <TextVIEw //some propertIEs /> </linearLayout> </androID.support.v7.Widget.CardVIEw>
为了实现onclick监听器,我基本上遵循了这个教程:http://sapandiwakar.in/recycler-view-item-click-handler/
问题是由于线条产生的涟漪效应:
androID:clickable="true"androID:focusable="true"androID:foreground="?androID:attr/selectableItemBackground"
没有工作在光(也就是说快速)按下.当我快速点击屏幕时,会触发点击监听器.这意味着已检测到触摸事件,但没有显示波纹效果.如果我想看到涟漪效应,我必须在释放之前保持一段时间更长的屏幕压力.
有没有办法纠正这种行为,即使是快速按下也会显示涟漪效应?
解决方法:
我遇到了类似的问题.我在RecyclerVIEw上有一个ItemClickListener,在那个监听器中我推了一个新片段.通过反复试验,我注意到删除或清空项目点击监听器每次都会显示突出显示,即使在轻敲时也是如此.
解决方法是更改我的onItemClick方法:
@OverrIDepublic voID onItemClick(final RecyclerVIEw parent, final VIEw vIEw, final int position, final long ID){ VIEwCompat.postOnAnimationDelayed(parent, new Runnable() { @OverrIDe public voID run() { // Your click code goes here } }, 50);}
这会将您的点击 *** 作推迟到下一个动画步骤后50ms,并在您执行单击 *** 作之前为动画提供足够的时间来加载和运行.
总结以上是内存溢出为你收集整理的android – 对RecyclerView的RIpple效果不适用于轻拍全部内容,希望文章能够帮你解决android – 对RecyclerView的RIpple效果不适用于轻拍所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)