gpt4 book ai didi

android - RecyclerView 上的波纹效果在轻敲时不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:16 25 4
gpt4 key购买 nike

我尝试在我的 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"

不适用于轻(也就是说快速)打印机。当我快速点击屏幕时,点击监听器被触发。这意味着已经检测到触摸事件,但是没有显示涟漪效应。如果我想看到涟漪效果,我必须在释放之前在屏幕上保持更长的压力。

有没有办法纠正这种行为并显示链式 react ,即使是快速按下也是如此?

最佳答案

我遇到了类似的问题。我在 RecyclerView 上有一个 ItemClickListener,在那个监听器中我推送了一个新 fragment 。通过反复试验,我注意到删除或清空项目点击监听器每次都会显示高亮显示,即使轻按也是如此。

解决方法是更改​​我的 onItemClick 方法:

@Override
public 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);
}

这会将您的点击操作推迟到下一个动画步骤后 50 毫秒,并为动画提供足够的时间在您的点击操作执行之前加载和运行。

关于android - RecyclerView 上的波纹效果在轻敲时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43998374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com