Android ViewPager Prev/Next Button

后端 未结 9 932
北荒
北荒 2020-12-08 04:00

Okay, so I\'m developing an Android app that utilises a ViewPager to display pages.

Within each page, I have a set of buttons to use for navigating between pages (in

9条回答
  •  不知归路
    2020-12-08 04:29

    1) Make layout

          
    
    
    
                    
                    
    
                    
    
    
                    
    
    
                
    

    2) Set custom Adapter

            CustomViewPagerAdapter  custompageradpter;
            ViewPager   mViewPager;
            mViewPager = (ViewPager)shareImagesDialouge.findViewById(R.id.images_pager); 
             custompageradpter = new CustomViewPagerAdapter(this);
             mViewPager.setAdapter(custompageradpter);
    
        public class CustomViewPagerAdapter  extends PagerAdapter {
    
    
            Context mContext;
            LayoutInflater mLayoutInflater;
    
            int[] mResources = {
                    R.drawable.emoji_1,
                    R.drawable.emoji_2,
                    R.drawable.emoji_3,
                    R.drawable.emoji_4,
                    R.drawable.emoji_5,
                    R.drawable.emoji_6
            };
    
            public CustomViewPagerAdapter(Context context) {
                mContext = context;
                mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            }
    
            @Override
            public int getCount() {
                return mResources.length;
            }
    
            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view == ((LinearLayout) object);
            }
    
            @Override
            public Object instantiateItem(ViewGroup container, int position) {
                View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false);
    
                ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);
                imageView.setImageResource(mResources[position]);
    
                container.addView(itemView);
    
                return itemView;
            }
    
            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                container.removeView((LinearLayout) object);
            }
    
        }
    

    3) For next and previous button

             case R.id.img_previous:
                        mViewPager.setCurrentItem(getItemofviewpager(-1), true);
                        break;
    
                    case R.id.img_next:
                        mViewPager.setCurrentItem(getItemofviewpager(+1), true);
                        break;
    

    4) Make this function

      private int getItemofviewpager(int i) {
            return mViewPager.getCurrentItem() + i;
        }
    

提交回复
热议问题