android view stop,RecyclerView - 触摸后禁用fling stop

我'm creating a slot machine application and for this I'm使用 RecycleView 作为铁路 . 因此, RecyclerView 禁用所有touch \ click \ scroll事件 .

为了使"spin"我使用 RecyclerView.fling(...) 方法,因为它有更好的动画 .

BUT 当我触摸回收者视图时,突然停止了 . Why? And how can I disable this?

XML:

android:id="@+id/rv_rail"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginLeft="@dimen/margin_4"

android:layout_marginStart="@dimen/margin_4"

android:layout_weight="1"

android:padding="@dimen/dp_16"/>

RecyclerView的init:

LinearLayoutManager mRailLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);

mRailsBinding.rvRail.setHasFixedSize(true);

new LinearSnapHelper().attachToRecyclerView(mRailsBinding.rvRail);

mRailsBinding.rvRail.setLayoutManager(mRailLayoutManager);

mRailsBinding.rvRail.addOnItemTouchListener(new RecyclerViewDisabler());

mRailsBinding.rvRail.addOnScrollListener(railScrollListener); //checking here for time when scroll ended

mRailsBinding.rvRail.setAdapter(mRailAdapter);

适配器没什么特别的 . 它只是在视图中,并且没有click \ touch evenets .

RecyclerViewDisabler:

public class RecyclerViewDisabler implements RecyclerView.OnItemTouchListener {

@Override

public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {

return true;

}

@Override

public void onTouchEvent(RecyclerView rv, MotionEvent e) {}

@Override

public void onRequestDisallowInterceptTouchEvent(boolean state) {}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值