Android实现引导页并滑动跳转到主界面
16lz
2021-12-04
public class SplashGuideActivity extends Activity implementsOnPageChangeListener, OnClickListener {private ViewPager viewPager;private ViewPagerAdapter viewPagerAdapter;private List 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 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);}}
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- android获取音量分贝值
- android屏幕截图
- android 获取另一个apk的信息
- Android中Radio单选按钮操作
- Android中Gallery来显示图片
- Android获取手机配置信息
- Android(安卓)studio 开发一个用户登录界面
- Android(安卓)获取手机本地IP