gpt4 book ai didi

java - Android ViewPager2 - 如何检测用户发起的页面更改

转载 作者:行者123 更新时间:2023-12-03 19:09:43 46 4
gpt4 key购买 nike

我有 ViewPager2 回调设置,但需要检测用户发起的页面更改何时完成。回调不会区分用户启动和代码启动。这是我现在拥有的:

ViewPager2.OnPageChangeCallback swipeListener = new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
//I want to run code only if user initiated this page change
//but this runs whether user initiated or code initiated
}
}
通过代码完成的页面更改:
viewPager.setCurrentItem(targetSlide);
docs for ViewPager2显示 isUserInputEnabled()告诉您用户是否“可以”手动更改页面的方法,但我需要检测用户是否“确实”启动了页面更改。

最佳答案

您可以使用isFakeDragging里面 registerOnPageChangeCallback检测拖动是假的还是由用户发起的。

Returns true if a fake drag is in progress.

...onPageScrolledonPageScrolled(int position, float positionOffset, int positionOffsetPixels){
if(isFakeDragging)
{// fake scroll}
else{// user scroll}
}

关于java - Android ViewPager2 - 如何检测用户发起的页面更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62575821/

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