在recyclerView中禁用单击动画

时间:2016-05-24 11:54:52

标签: android animation android-recyclerview

我有一个recyclerView我只想在点击一个项目时禁用动画

欢迎任何帮助

提前致谢

5 个答案:

答案 0 :(得分: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 :(得分:0)

您可以通过recyclerView.setItemAnimator(null);

停用它

答案 2 :(得分:0)

我认为你在谈论触摸ripple效果。

要停用此效果,只需将背景color设置为RecyclerView's项目布局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>

希望这会有所帮助〜

答案 3 :(得分:0)

如果要在RecyclerView中将其删除,则可以在绑定ViewHolder时将项目背景设置为空:

private static final Random rnd = new Random(PosX);

float random(int max) {
    return max * rnd.nextFloat();
}

答案 4 :(得分:-1)

在项目布局的根节点上将clickable属性设置为true

示例item_layout.xml

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

    ...

</LinearLayout