关于ViewPager2 禁止用户滑动问题

本文探讨了在Android中使用ViewPager2组件时遇到的问题:如何有效地禁止用户通过触摸或键盘进行滑动操作。文中详细解释了一个常见方法 setUserInputEnabled 的使用,并指出了该方法存在的局限性,即无法阻止键盘输入导致的滚动。

关于ViewPager2 禁止用户滑动问题

正常方法

需求是不让上下滚动,理论上使用这个setUserInputEnabled就能解决,kotlin的话应该是isUserInputEnabled=false没记错的话

//不让他上下滚动了
viewPager2.setUserInputEnabled(false);

出现问题

当我这样设置时候,我师兄告知我依旧不行,我很是奇怪,因为在我的一样安卓版本的虚拟机下就是无法滑动,查询全网还是找不到原因。。。

最后点进源码发现注释里有这样一句话。

Disabling keyboard input is not yet supported. 意思:目前不支持禁止键盘输入。

/**
 * Enable or disable user initiated scrolling. This includes touch input (scroll and fling
 * gestures) and accessibility input. Disabling keyboard input is not yet supported. When user
 * initiated scrolling is disabled, programmatic scrolls through {@link #setCurrentItem(int,
 * boolean) setCurrentItem} still work. By default, user initiated scrolling is enabled.
 *
 * @param enabled {@code true} to allow user initiated scrolling, {@code false} to block user
 *        initiated scrolling
 * @see #isUserInputEnabled()
 */
public void setUserInputEnabled(boolean enabled) {
    mUserInputEnabled = enabled;
    mAccessibilityProvider.onSetUserInputEnabled();
}

被动解决

猛然惊醒,会不会测试人员使用的鼠标滚轮或者键盘。。。

这告诫我们,就算是虚拟机也应该使用鼠标点击模拟人的操作!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值