Android实现引导页并滑动跳转到主界面

来源:互联网 发布:家用网络存储器 编辑:程序博客网 时间:2024/04/29 20:27
public class SplashGuideActivity extends Activity implementsOnPageChangeListener, OnClickListener {private ViewPager viewPager;private ViewPagerAdapter viewPagerAdapter;private List<View> views;public GestureDetector mGestureDetector;private int currentItem = 0; private int flaggingWidth;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.guide);slideToMain();// 获取分辨率DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);flaggingWidth = dm.widthPixels / 3;initViewPager();}private void initViewPager() {LayoutInflater inflater = LayoutInflater.from(this);views = new ArrayList<View>();View guide_one = inflater.inflate(R.layout.guide_one, null);View guide_two = inflater.inflate(R.layout.guide_two, null);View guide_three = inflater.inflate(R.layout.guide_three, null);View guide_four = inflater.inflate(R.layout.guide_four, null);guide_four.setOnClickListener(this);views.add(guide_one);views.add(guide_two);views.add(guide_three);views.add(guide_four);viewPagerAdapter = new ViewPagerAdapter();viewPager = (ViewPager) findViewById(R.id.viewPager);viewPager.setAdapter(viewPagerAdapter);viewPager.setOnPageChangeListener(this);}@Overridepublic void onClick(View v) {SharedPreferencesUtil.getInstance(this).setBoolean("isFirstOpen", false);// Intent intent = new Intent(this, MainActivity.class);// startActivity(intent);// this.finish();}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageSelected(int position) {currentItem = position;System.out.println("------" + currentItem);}public class ViewPagerAdapter extends PagerAdapter {@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager) container).removeView(views.get(position));}@Overridepublic Object instantiateItem(View container, int position) {((ViewPager) container).addView(views.get(position));return views.get(position);}@Overridepublic int getCount() {return views.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}}private void slipToMain(){mGestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener() {@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY) {if (currentItem == 3) {if ((e1.getRawX() - e2.getRawX()) >= flaggingWidth) {Intent intent = new Intent(SplashGuideActivity.this,MainActivity.class);startActivity(intent);finish();return true;}}return false;}});}@Overridepublic boolean onTouchEvent(MotionEvent event) {mGestureDetector.onTouchEvent(event);return super.onTouchEvent(event);}@Overridepublic boolean dispatchTouchEvent(MotionEvent event) {if (mGestureDetector.onTouchEvent(event)) {event.setAction(MotionEvent.ACTION_CANCEL);}return super.dispatchTouchEvent(event);}}

0 0
原创粉丝点击