ViewPager disable swiping to a certain direction(ViewPager 禁止向某个方向滑动)
问题描述
我想禁用滑动,但仅限于右侧.我在 this 答案中找到了一个可行的解决方案.不幸的是,这复制了整个 ViewPager 源代码以实现目标.有没有只继承现有类而不重复的方法?
I want to disable the swiping, but only to the right side. I found a working solution in this answer. Unfortunately, this copies the whole ViewPager source to achieve the goal. Is there any methods just inheriting the existing class and not duplicating?
推荐答案
我不确定这是否正是您所需要的:我需要一个 viewpager 来创建一个具有用户无法通过的最大页面的向导.
I'm not sure this is exactly what you need: I needed a viewpager for a wizard with a max page that the user can't pass it.
最后解决方案在适配器中.我更改了 PagerAdapter 的计数,这样可以阻止用户传递最大页面:
At the end the solution was in the adapter. I changed the count of the PagerAdapter and this way blocks the user from passing the max page:
@Override
public int getCount() {
return mProgress; //max page + 1
}
当用户进入下一页时:
private void setWizardProgress(int progress) {
if(progress > mProgress) {
mProgress = progress;
mWizardPagerAdapter.notifyDataSetChanged();
}
}
这样,当用户处于最大页面时,他无法向右滚动.
This way when the user is at max page he can't scroll to the right.
这篇关于ViewPager 禁止向某个方向滑动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ViewPager 禁止向某个方向滑动
基础教程推荐
- navigationItem.backBarButtonItem 不工作?为什么上一个菜单仍然显示为按钮? 2022-01-01
- iOS - UINavigationController 添加多个正确的项目? 2022-01-01
- Play 商店的设备兼容性问题 2022-01-01
- 如何比较两个 NSDate:哪个是最近的? 2022-01-01
- Xcode UIView.init(frame:) 只能在主线程中使用 2022-01-01
- Android Volley - 如何动画图像加载? 2022-01-01
- 如何将图像从一项活动发送到另一项活动? 2022-01-01
- UIImage 在开始时不适合 UIScrollView 2022-01-01
- 为什么姜饼模拟器方向卡在应用程序中? 2022-01-01
- SwiftUI-ScrollViewReader的ScrollTo不滚动 2022-01-01
