3 回答
TA贡献1777条经验 获得超3个赞
REAL REAL的答案是: 对于API 21和更高版本:
无需Java代码。 您可以android:nestedScrollingEnabled="false" 在xml中设置 :
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="true"
android:nestedScrollingEnabled="false"
tools:listitem="@layout/adapter_favorite_place">
TA贡献1802条经验 获得超4个赞
这有点棘手,但可行。您可以在中启用/禁用滚动RecyclerView。
这是一次空洞的RecyclerView.OnItemTouchListener窃取,每一次触摸事件都会使目标无效RecyclerView。
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 disallowIntercept) {
}
}
使用它:
RecyclerView rv = ...
RecyclerView.OnItemTouchListener disabler = new RecyclerViewDisabler();
rv.addOnItemTouchListener(disabler); // disables scolling
// do stuff while scrolling is disabled
rv.removeOnItemTouchListener(disabler); // scrolling is enabled again
- 3 回答
- 0 关注
- 6807 浏览
添加回答
举报