gpt4 book ai didi

android - 查看寻呼机 2 : Depth Page Transformation make fragment click events disable on pager swipe up

转载 作者:行者123 更新时间:2023-11-29 00:53:15 24 4
gpt4 key购买 nike

我正在使用带有 fragmentStateAdapter 的 viewpager2。此外,将页面转换器设置为 DepthPageTransformation(转换按我想要的方式正常工作)

但是当我向上滑动页面时,该 fragment 上的点击事件在双击时起作用(事件在点击两次后起作用)

如果我从 viewPager 中删除 pageTransformation,那么它工作正常。所以,无法理解为什么转换会导致点击事件问题。

    private static final float MIN_SCALE = 0.75f;
public void transformPage(@NonNull View view, float position) {
int pageHeight = view.getHeight();
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0f);
Log.d("batman",position+" <-1");
} else if (position <= 0) { // [-1,0]
// Use the default slide transition when moving to the left page
view.setAlpha(1f);
view.setTranslationY(0f);
view.setScaleX(1f);
view.setScaleY(1f);
Log.d("batman",position+" <=0");
} else if (position <= 1) { // (0,1]
// Fade the page out.
view.setAlpha(1 - position);
// Counteract the default slide transition
view.setTranslationY(pageHeight * -position);
// Scale the page down (between MIN_SCALE and 1)
float scaleFactor = MIN_SCALE
+ (1 - MIN_SCALE) * (1 - Math.abs(position));
view.setScaleX(scaleFactor);
view.setScaleY(scaleFactor);
Log.d("batman",position+" <=1");
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0f);
Log.d("batman",position+" else");
}
}
}
HomeFragment(adapter setting):

mAdapter = new ViewPagerAdapter(this);
setPageChangeListener();
mViewPager.setAdapter(mAdapter);
// mViewPager.setOffscreenPageLimit(3);
mViewPager.setPageTransformer( new DepthPageTransformer());

我希望按钮点击事件应该在页面向上滑动时在一次点击时起作用。

最佳答案

上一个 fragment 的点击在向上滑动时被禁用,因为我正在更新我的 fragment ,该 fragment 是从 onPageSelected() 监听器添加到 View 寻呼机中的,所以这使得按钮在双击时起作用。

@Override
public void onPageSelected(int position) {
homePresenter.onPageSelected();
currentPg = position;
}

也许我们不能从这个监听器更新我们的 fragment 。

关于android - 查看寻呼机 2 : Depth Page Transformation make fragment click events disable on pager swipe up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57494696/

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