您必须创建一个在触摸和滚动事件时不执行任何操作的新类:

public class LockableNestedScrollView extends NestedScrollView {

// by default is scrollable

private boolean scrollable = true;

public LockableNestedScrollView(@NonNull Context context) {

super(context);

}

public LockableNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs) {

super(context, attrs);

}

public LockableNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

@Override

public boolean onTouchEvent(MotionEvent ev) {

return scrollable && super.onTouchEvent(ev);

}

@Override

public boolean onInterceptTouchEvent(MotionEvent ev) {

return scrollable && super.onInterceptTouchEvent(ev);

}

public void setScrollingEnabled(boolean enabled) {

scrollable = enabled;

}

}

接下来在您的布局中,您可以通过新类更改NestedScroll:

orientation:"horizontal"

android:id="@+id/scroll_name">

(contains Recyclerview-2)

最后在你的活动中:

LockableNestedScrollView myScrollView = (LockableNestedScrollView) findViewById(R.id.scroll_name);

myScrollView.setScrollingEnabled(false);

我希望它可以帮助别人.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐