ViewPager实现Tab(2)

此篇博客接上一篇,继续完成ViewPager实现tab.
这里我们需要绑定事件。当我们点击ImageButton时实现tab切换。

public void onClick(View v){
        restImg();//先把图片替换成暗色
        switch (v.getId()){
            case R.id.L1:
                mViewPager.setCurrentItem(0);
                ml1_img.setImageResource(R.mipmap.grape_pic);
                break;
            case R.id.L2:
                mViewPager.setCurrentItem(1);
                ml2_img.setImageResource(R.mipmap.cherry_pic);
                break;
            case R.id.L3:
                mViewPager.setCurrentItem(2);
                ml3_img.setImageResource(R.mipmap.orange_pic);
                break;
        }
    }

那么如何滑动页面,按钮也随着变化呢?这里我们需要些ViewPager监听事件。

mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                int currentItem=mViewPager.getCurrentItem();
                restImg();
                switch (currentItem){
                    case 0:
                        ml1_img.setImageResource(R.mipmap.grape_pic);
                        break;
                    case 1:
                        ml2_img.setImageResource(R.mipmap.cherry_pic);
                        break;
                    case 2:
             ml3_img.setImageResource(R.mipmap.orange_pic);
                        break;
                }
            }
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });

这里我们需要在
public void onPageSelected(int position){
}

里面添加逻辑代码,当然首先我们还需要把图片变暗。
通过判断此时页面是滚动的那一页,来时对应下面的bottom的图片变亮或者是变暗。
如果博客有什么没讲清楚的话,大家可以在下面评论,可以发源码。

发布了37 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/OneLinee/article/details/78930414