禁用RecyclerView中的点击动画

4
我有一个recyclerView,我只想在项目被点击时禁用动画效果。欢迎提供任何帮助,谢谢!

1
你如何开始动画?请发布那些代码。 - Devendra Singh
4个回答

1
你可以通过 recyclerView.setItemAnimator(null); 来禁用它。

目前,这会导致抛出以下异常: NullPointerException:尝试在空对象引用上调用虚拟方法“void android.support.v7.widget.SimpleItemAnimator.setSupportsChangeAnimations(boolean)” - Bob Liberatore

0

在你的viewHolder类中

public static class ViewHolder extends RecyclerView.ViewHolder {

    View rootView;

public ViewHolder(View itemView) {
    super(itemView);
    rootView = itemView;

    }
}
   @Override

然后在onBindViewHolder中

public void onBindViewHolder(final ViewHolder holder, int position) {
        holder.rootView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               //overridden default onClick
            }
        });
    }

-1

将您的项布局的根节点的clickable属性设置为true

示例item_layout.xml

<LinearLayout
    ...
    android:clickable="true"
    ...
    >

    ...

</LinearLayout

-1

我想你在谈论触摸涟漪效果。

要禁用此效果,只需将RecyclerView项布局的根布局的XML背景颜色设置为任何颜色即可。

例如:

// recyclerview_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_aaa"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff0000">

    ................
    .......................

</RelativeLayout>

希望这能有所帮助~

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接