ViewPager achieve Tab (2)

Cipian connected to a blog, to finish ViewPager realized tab.
Here we need to bind the event. When we realized tab to switch clicks ImageButton.

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;
        }
    }

So how sliding page, the button also changes with it? Here we need some ViewPager listen for events.

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) {
            }
        });

Here we need inside the code to add logic, of course, first we need to make the picture darker. At this time, by determining that the page is a rolling, below the corresponding bottom of the picture to lighten or darken. What if the blog did not speak clearly, then we can comment below, you can send the source code.
public void onPageSelected(int position){
}



Published 37 original articles · won praise 10 · views 10000 +

Guess you like

Origin blog.csdn.net/OneLinee/article/details/78930414
Recommended