Android ViewPager欢迎页+引导页+进入首页

 1 import android.app.Activity;
 2 import android.content.Intent;
 3 import android.content.SharedPreferences;
 4 import android.content.SharedPreferences.Editor;
 5 import android.os.Bundle;
 6 import android.os.Handler;
 7
 8 /** 欢迎界面 */
 9 public class WelcomeAct extends Activity {
10
11     private boolean isFirstIn = false;
12     private static final int TIME = 2000;
13     private static final int GO_HOME = 1000;
14     private static final int GO_GUIDE = 1001;
15
16     private Handler mHandler = new Handler() {
17         public void handleMessage(android.os.Message msg) {
18             switch (msg.what) {
19             // 跳入主界面
20             case GO_HOME:
21                 goHome();
22                 break;
23             // 跳入引导页
24             case GO_GUIDE:
25                 goGuide();
26                 break;
27             }
28         };
29     };
30
31     @Override
32     protected void onCreate(Bundle savedInstanceState) {
33         super.onCreate(savedInstanceState);
34         setContentView(R.layout.welcome);
35         init();
36     }
37
38     private void init() {
39         SharedPreferences perPreferences = getSharedPreferences("jike",
40                 MODE_PRIVATE);
41         isFirstIn = perPreferences.getBoolean("isFirstIn", true);
42         if (!isFirstIn) {
43             mHandler.sendEmptyMessageDelayed(GO_HOME, TIME);
44         } else {
45             mHandler.sendEmptyMessageDelayed(GO_GUIDE, TIME);
46             Editor editor = perPreferences.edit();
47             editor.putBoolean("isFirstIn", false);
48             editor.commit();
49         }
50     }
51
52     private void goHome() {
53         Intent i = new Intent(WelcomeAct.this, MainActivity.class);
54         startActivity(i);
55         finish();
56     }
57
58     private void goGuide() {
59         Intent i = new Intent(WelcomeAct.this, Guide.class);
60         startActivity(i);
61         finish();
62     }
63
64 }
 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.support.v4.view.ViewPager;
 7 import android.support.v4.view.ViewPager.OnPageChangeListener;
 8 import android.view.LayoutInflater;
 9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.Button;
12 import android.widget.ImageView;
13
14 /** 引导页 */
15 public class Guide extends Activity implements OnPageChangeListener {
16
17     private ViewPager vp;
18     private ViewPagerAdapter vpAdapter;
19     private List<View> views;
20     private ImageView[] dots;
21     private int[] ids = { R.id.iv1, R.id.iv2, R.id.iv3 };
22     private Button start_btn;
23
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.guide);
28         initViews();
29         initDots();
30     }
31
32     private void initViews() {
33         LayoutInflater inflater = LayoutInflater.from(this);
34
35         views = new ArrayList<View>();
36         views.add(inflater.inflate(R.layout.one, null));
37         views.add(inflater.inflate(R.layout.two, null));
38         views.add(inflater.inflate(R.layout.three, null));
39
40         vpAdapter = new ViewPagerAdapter(views, this);
41         vp = (ViewPager) findViewById(R.id.viewpager);
42         vp.setAdapter(vpAdapter);
43         // 下标从0开始,所以第三个页面是get(2)。
44         start_btn = (Button) views.get(2).findViewById(R.id.start_btn);
45         start_btn.setOnClickListener(new OnClickListener() {
46             @Override
47             public void onClick(View arg0) {
48                 Intent i = new Intent(Guide.this, MainActivity.class);
49                 startActivity(i);
50                 finish();
51             }
52         });
53         vp.setOnPageChangeListener(this);
54     }
55
56     /** 循环设置点 */
57     private void initDots() {
58         dots = new ImageView[views.size()];
59         for (int i = 0; i < views.size(); i++) {
60             dots[i] = (ImageView) findViewById(ids[i]);
61         }
62     }
63
64     @Override  /** 滑动状态改变的时候 */
65     public void onPageScrollStateChanged(int arg0) {
66         // TODO Auto-generated method stub
67     }
68
69     @Override  /** 当页面被滑动时候调用 */
70     public void onPageScrolled(int arg0, float arg1, int arg2) {
71         // TODO Auto-generated method stub
72     }
73
74     @Override  /** 当前新的页面被选中时调用 */
75     public void onPageSelected(int arg0) {
76         for (int i = 0; i < ids.length; i++) {
77             if (arg0 == i) {
78                 // 亮点
79                 dots[i].setImageResource(R.drawable.login_point_selected);
80             } else {
81                 // 暗点
82                 dots[i].setImageResource(R.drawable.login_point);
83             }
84         }
85     }
86
87 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <android.support.v4.view.ViewPager
 7         android:id="@+id/viewpager"
 8         android:layout_width="fill_parent"
 9         android:layout_height="fill_parent"
10         android:background="#00000000" >
11     </android.support.v4.view.ViewPager>
12
13     <!-- 底部三个点 -->
14     <LinearLayout
15         android:id="@+id/ll"
16         android:layout_width="fill_parent"
17         android:layout_height="wrap_content"
18         android:layout_alignParentBottom="true"
19         android:gravity="center_horizontal"
20         android:orientation="horizontal" >
21         <!-- 选中点 -->
22         <ImageView
23             android:id="@+id/iv1"
24             android:layout_width="wrap_content"
25             android:layout_height="wrap_content"
26             android:src="@drawable/login_point_selected" />
27         <!-- 未选中点 -->
28         <ImageView
29             android:id="@+id/iv2"
30             android:layout_width="wrap_content"
31             android:layout_height="wrap_content"
32             android:src="@drawable/login_point" />
33         <!-- 未选中点 -->
34         <ImageView
35             android:id="@+id/iv3"
36             android:layout_width="wrap_content"
37             android:layout_height="wrap_content"
38             android:src="@drawable/login_point" />
39     </LinearLayout>
40
41 </RelativeLayout>

DEMO下载:http://pan.baidu.com/s/1i3vHoLv

时间: 2024-10-13 00:54:33

Android ViewPager欢迎页+引导页+进入首页的相关文章

android使用ViewPager实现欢迎引导页

android使用ViewPager实现欢迎引导页 大多数APP第一次启动的时候,都会有一个引导界面,左右滑动,到最后一张,用户点击才再次进入主界面.当第二次启动的时候,则直接进入主界面. 这种效果一般使用ViewPager实现.今天就来为大家介绍一下ViewPager的使用. 实现步骤: 使用SharedPerferences来记录是否是第一次启动APP,如果是,则转跳到Guide页面,如果不是第一次启动.就转跳到主Activity. MainActivity: 本Activity作为Logo

android ViewPager左右滑动翻页,并可以删除page

首先新建一个Activity,继承FragmentActivity. 初始化一个Fragment的List集合,用于像FragmentStatePagerAdapter填充数据,而ViewPager由FragmentStatePagerAdapter的实例进行初始化.和ListView一样,Fragment的List集合的数据变了,就通知FragmentStatePagerAdapter进行界面刷新. ArrayList<Fragment> fragments =new ArrayList&l

开屏三兄弟——闪屏/启动页/引导页

开屏三兄弟——闪屏/启动页/引导页 “开屏页”的交互方式其实并不是完全一样的,也承载着完全不同的功能.我们来了解一下它们的真正用法吧. 特别声明:之前把LaunchScreen和SplashScreen写反了,现已更正,感谢各位大大即时指出错误,希望没有误人子弟,以后会仔细查证后再跟大家分享的.orz,给大家磕一个认错. 同时补充了只有Launch Screen一个页面的启动流程. 原链接:https://www.zcool.com.cn/article/ZNzE3Mzgw.html 原文地址:

Android零基础入门第69节:ViewPager快速实现引导页

在很多APP第一次启动时都会出现引导页,在一些APP里面还会包括一些左右滑动翻页和页面轮播切换的情况.在之前也已经学习了AdapterViewFlipper和ViewFlipper,都可以很好的实现,今天继续来学习一个功能更加强大的ViewPager组件. 一.ViewPager简介 ViewPager是android扩展包v4包中的类,这个类可以让用户左右滑动切换当前的view.ViewPager继承自ViewGroup,也就是ViewPager是一个容器类,可以包含其他的View类. Vie

Android学习之——ViewPager及应用引导页的开发

背景知识 当我们第一次安装Android应用时,有的应用会有引导页,要么是用于介绍应用的新功能,要么就是关于应用的介绍,有的甚至是推广广告等. 那么这个应用引导页是怎样实现的呢?这就得有请我们今天的主角登场了——ViewPager. ViewPager介绍 ViewPager继承自ViewGroup类,属于android.support.v4.view包(这个包是Google提供给我们开发兼容低版本Android的包,主要功能是提供各种各样的类来向后处理View的兼容性). ViewPager,

Android仿大众点评引导页(ViewPage)+主页面(Fragment)的实现

大家好,今天主要是实现仿大众点评引导页和主页面以及城市定位的实现,主要使用ViewPager+Fragment+SharedPreferences,实现了第一次打开程序出现引导页,再次打开跳过引导页,这也是一般应用常用的应用基本架构方式.下面首先来看最终实现效果如下图: 1.布局文件说明 1)欢迎页布局文件welcome.xml 2) 引导页布局文件welcome_guide.xml 3)首页布局文件main_home.xml 4)团购布局文件main_tuan.xml 5) 发现布局文件mai

闪屏页+引导页

实现原理: 用SharedPreferences实现.创建一个boolean的变量,默认值为true.当判断这个变量是true的时候,说明是第一次运行,就跳转到另一个引导页面,否则进入主页面. 引导页面跳转到最后一张图片时,点击某按钮发生跳转事件,回到MainActivity,此时把变量的值改成false. 引导图效果用ViewPager实现. 下面附上代码: splash.xml: <?xml version="1.0" encoding="utf-8"?&

Viewpager实现滑动引导页原理

首先需要一个layout作为主界面,layout里面放一个viewpager作为容器盛放不同的页面.再建三个layout文件分别盛放三张图片 ? Activity里利用findViewByID找到viewpager容器 ? 利用LayoutInflater获取一个inflater,通过inflater找到盛放三个图片的xml文件,将他们作为View存放到一个列表中. ? 将列表传递给adapter. ? 建立一个adapter继承PageAdapter,复写四个必须实现的方法.

Android简洁漂亮的引导页

原文地址:http://www.apkbus.com/forum.php?mod=viewthread&tid=239742 源码位置:待续