ViewPager在最后一页滑动之后,跳转到主页面
2016-10-18 21:39
483 查看
实现的思路
1.查找控件//查找控件 private void findView() { vp_guide = (ViewPager) findViewById(R.id.vp_guide); }
2.初始化ViewPager的数据
//初始化ViewPager数据 private void initData() { mImageViews = new ArrayList<>(); for (int i = 0; i < imageIds.length; i++) { ImageView mImageView = new ImageView(this); mImageView.setBackgroundResource(imageIds[i]); mImageViews.add(mImageView); } }
3.自定义ViewPager的适配器
//自定义适配器 class GuideAdapter extends PagerAdapter { @Override public int getCount() { return mImageViews.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView mImageView = mImageViews.get(position); container.addView(mImageView); return mImageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } }
4.设置适配器及监听
//设置适配器 private void setAdapter() { vp_guide.setAdapter(new GuideAdapter()); vp_guide.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { currentItem=position; } @Override public void onPageScrollStateChanged(int state) { } }); vp_guide.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: startX = event.getX(); startY = event.getY(); break; case MotionEvent.ACTION_UP: endX = event.getX(); endY = event.getY(); WindowManager windowNanager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE); //获取屏幕宽度 Point mPoint = new Point(); windowNanager.getDefaultDisplay().getSize(mPoint); int width = mPoint.x; //首先要确定的是,是否到了最后一页,然后判断是否向左滑动,并且滑动距离是否符合你所设定的要求 if (currentItem == (mImageViews.size() - 1) && startX - endX >= (width / 6)) { goToMainActivity(); //页面跳转的动画 overridePendingTransition(R.anim.slide_in_right, R.anim.slide_in_left); } default: break; } return false; } }); }
5.跳转到主页面的方法
//进入主界面 private void goToMainActivity() { Intent mIntent = new Intent(this, MainActivity.class); startActivity(mIntent); finish(); }
相关文章推荐
- Android viewpager在最后一页滑动之后跳转到主页面的实例代码
- viewpager在最后一页滑动之后,跳转到主页面
- viewpager在最后一页滑动之后跳转到主页面.
- 实现淘宝商品详情页面的viewPager滑动到最后一张图片跳转的功能
- viewpager在禁止滑动之后仍可滑动部分页面的bug兼自适应的做法
- 使用ViewPager实现页面滑动(点击)跳转效果(类似于微信页面)
- android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能
- Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能
- Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能
- Android ViewPager 实现多个页面切换滑动
- Android ViewPager 实现多个页面切换滑动
- Android ViewPager多页面滑动切换以及动画效果
- ViewPager多页面滑动切换以及动画效果
- Android ViewPager多页面滑动切换以及动画效果
- ViewPager多页面滑动切换以及动画效果
- Android中用ViewPager实现多页面滑动切换及动画效果的实例
- Android ViewPager多页面滑动切换以及动画效果!!!
- Android ViewPager多页面滑动切换以及动画效果
- [转载]Android ViewPager多页面滑动切换以及动画效果
- ViewPager多页面滑动切换以及动画效果