【简释】ViewPager——OnPageChangeListener

ViewPager.SimpleOnPageChangeListener mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
    
    
    /**
     * 当页面滚动时触发
     * @param position 切换过程中左侧页面的position
     * @param positionOffset 切换过程中左侧页面消失部分的比例
     * @param positionOffsetPixels 切换过程中左侧页面消失部分的像素值
     */
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
    
        super.onPageScrolled(position, positionOffset, positionOffsetPixels);
        Log.d(TAG, "position: " + position);
        Log.d(TAG, "positionOffset: " + positionOffset);
        Log.d(TAG, "positionOffsetPixels: " + positionOffsetPixels);
    }

    /**
     * 页面发生变化后触发
     * @param position 切换后页面的position
     */
    @Override
    public void onPageSelected(int position) {
    
    
        super.onPageSelected(position);
        Log.d(TAG, "onPageSelected: " + position);
    }

    /**
     * 滚动的状态
     * @param state 0,1,2
     * 1:滑动
     * 2:恢复
     * 0:结束
     * 例:假设ViewPager为横向滚动
     * 无反应:手指垂直放置垂直拿开(单击/长按);手指进行上下方向的滑动
     * 1,2,0:ViewPager进行了左右方向的滑动,手指离开后的页面存在水平偏差,导致页面回正
     * 1,0:ViewPager进行了左右方向的滑动,但手指离开后页面刚好是正确位置无须回正(一般为边角界面向外滑动后的结果)
     */
    @Override
    public void onPageScrollStateChanged(int state) {
    
    
        super.onPageScrollStateChanged(state);
        Log.d(TAG, "onPageScrollStateChanged: " + state);
    }
};

おすすめ

転載: blog.csdn.net/qq_36881363/article/details/108345316