gpt4 book ai didi

android - 是否可以禁用 ViewPager 上的滚动

转载 作者:IT老高 更新时间:2023-10-28 12:59:05 29 4
gpt4 key购买 nike

我有一个 ViewPager 实例化一个 View。我想在将搜索结果返回到 View 时暂时禁用 viewpager 和子按钮的滚动。我调用了 viewPager.setEnabled(false) 但这并没有禁用它。

有人有什么想法吗?

最佳答案

一个简单的解决方案是创建您自己的 ViewPager 的子类有一个 private boolean标志, isPagingEnabled .然后覆盖 onTouchEventonInterceptTouchEvent方法。如果 isPagingEnabled等于 true 调用 super方法,否则 return .

public class CustomViewPager extends ViewPager {

private boolean isPagingEnabled = true;

public CustomViewPager(Context context) {
super(context);
}

public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onTouchEvent(event);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onInterceptTouchEvent(event);
}

public void setPagingEnabled(boolean b) {
this.isPagingEnabled = b;
}
}

然后在你的Layout.XML文件替换任何 <com.android.support.V4.ViewPager>带有 <com.yourpackage.CustomViewPager> 的标签标签。

此代码改编自 blog post .

关于android - 是否可以禁用 ViewPager 上的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814017/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com