我在我的项目中使用tablayout,它可能有10个以上的tabitem。现在我想在用户滚动tablayout时隐藏另一个视图。
注意:我没有使用任何viewpager。

最佳答案

视图的每个实例都调用getViewTreeObserver()。您可以使用OnScrollChangedListener()向其添加addOnScrollChangedListener()
就你而言:

tabLayout.getViewTreeObserver().addOnScrollChangedListener(() -> {
        int scrollX = tabLayout.getScrollX(); // Current x scrolling position

        // We know that we have at least one child
        int maxScrollWidth = categoryTabLayout.getChildAt(0).getMeasuredWidth() - windowSize.x;

        // Do whatever you want here
    });

windowsize是从WindowManager访问的点。
private Point windowSize = new Point();
// Calculate the position if this window
getActivity().getWindowManager().getDefaultDisplay().getSize(windowSize);

通过使用上述方法,您将获得所需的正确滚动位置的更新

关于android - 如何在TabLayout Android中监听滚动事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41566544/

10-12 04:48