android使用ViewPager实现欢迎引导页

android使用ViewPager实现欢迎引导页

大多数APP第一次启动的时候,都会有一个引导界面,左右滑动,到最后一张,用户点击才再次进入主界面。当第二次启动的时候,则直接进入主界面。 这种效果一般使用ViewPager实现。今天就来为大家介绍一下ViewPager的使用。

实现步骤:

使用SharedPerferences来记录是否是第一次启动APP,如果是,则转跳到Guide页面,如果不是第一次启动。就转跳到主Activity.

MainActivity:

本Activity作为Logo页面进入,使用handler来实现页面的延迟专跳。对于handler还不太了解的同学,可以来这里学习一下安卓的异步消息传递机制:http://blog.csdn.net/guolin_blog/article/details/9991569 (感谢郭神带来好文章)

private Handler mHandler = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case MAIN:
                    Intent intent = new Intent(MainActivity.this,Main.class);
                    startActivity(intent);
                    finish();
                    break;
                case GUIDE:
                    Intent intent2 = new Intent(MainActivity.this,GuideView.class);
                    startActivity(intent2);
                    finish();
                    break;
            }
        }
    };

此外使用SharedPreferences来读取用户启动信息

mSharedPreferences = getSharedPreferences("conf",MODE_PRIVATE);
isFirst = mSharedPreferences.getBoolean("first",true);

之后进行简单的判断,这里不在累赘。

GuideActivity

这个界面是引导页的界面,我们首先在其布局文件下添加一个ViewPager之后在java文件中获取到这个ViewPager,并为这个ViewPager添加一个适配器。 这个适配器需要自己继承PagerAdapter来重写,稍后会进行讲解。

 mViewPager = (ViewPager) findViewById(R.id.viewpager);
        ViewPagerAdapter adapter = new ViewPagerAdapter(mList);
        mViewPager.setAdapter(adapter);

注意这个Adapter的传入参数是一个泛型为View的List。我们先向List里添加我们的View,再为最后一个view的Button添加监听事件,用来转跳到主页面;

mList = new ArrayList<>();
View view = LayoutInflater.from(this).inflate(R.layout.layout1,null);
        mList.add(view);
        view = LayoutInflater.from(this).inflate(R.layout.layout2,null);
        mList.add(view);
        view = LayoutInflater.from(this).inflate(R.layout.layout3,null);
        mList.add(view);
        mButton = (Button) view.findViewById(R.id.button_enter);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(GuideView.this,Main.class);
                startActivity(intent);
                finish();

            }
        });

ViewPagerAdapter

这是ViewPager的适配器,继承于PagerAdapter,主要实现两个方法:

destroyItem();

instantiateItem();

顾名思义一个是view去掉时候的方法,一个是添加view的方法。

这里可以看到一个很熟悉的参数 container,没错,和baseAdapter的参数很像,都是用来缓存当前view的。接下来只需要调用他的removeView和addView即可。需要注意的是,需要向下转型为ViewPager。

 public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager)container).removeView(mList.get(position));

    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        Log.i("wing","viewAdatper here");
        ((ViewPager)container).addView(mList.get(position));
        return mList.get(position);
    }

另外不要忘记重写他的构造方法。传入一个泛型为view的List


    public ViewPagerAdapter(ArrayList list){
        mList = list;
    }

这样适配器就完成了,大家自己多写几遍就会熟练。对了,别忘了给每个view一个布局文件。

下面看看效果图:

源码下载地址

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 04:50:28

android使用ViewPager实现欢迎引导页的相关文章

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仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码

Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPager切换变色美观效果 卡证识别 相机样式 Android炫酷爆炸效果的菜单源码 Android简洁优雅可点击的toast控件,仿手机百度 Android实现水平列表,其中的项目像风扇叶片一样移动效果 让你的RecyclerView秀出传送带效果,支持横向和纵向两种选... 一种流式布局的效果,很像我们

Android学习之加圆点引导页的实现

今天周六,在家好好码代码..... 今天实现的是界面优化的一个简单功能:加圆点的引导页的实现 虽然简单,不过步骤我们还是一步一步来吧 第一步:实现几个View之间的左右滑动,我这次用了四个View(ViewPager) 以下是我的Guide 的布局页面: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.andr

Android之上下滑动的引导页

前几天无意中看到一篇博文,名字叫Android 仿网易新闻v3.5:上下滑动的引导页,才知道原来应用的新手教学--即初次安装应用的引导程序,还可以上下滑动而不是左右滑动,今天就抽空把这个东西学习了一下,本案例是基于JakeWharton编写的类的改写. ( 在github上,有相关的开源项目 https://github.com/JakeWharton/Android-DirectionalViewPager 这个项目实际上是在ViewPager的基础上,做了一个扩展,加入了对上下方向滑动的支持

Viewpager实现滑动引导页原理

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

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 Wel

Android 1分钟教你打造酷炫的引导页(实现ViewPager淡入淡出切换)

纯手工自制的Android引导页,实现了Viewpager切换的淡入淡出(页面不移动!)切换以及文字动画. 下面是效果演示: 实现思路+心路历程...: 其实别的都还蛮简单的,就是这个ViewPager的淡入淡出切换动画比较棘手,以前都没有做过,然后去网上找了好久好久. 其中碰到各种坑无数,大概90%的人是引的 JazzyViewPager的包然后就balabala说自己实现了种种功能,真是醉了.... 结论是国内根本找不到这个效果的实现嘛.... 然后 在Github下了JazzyViewPa

Android基础控件——ViewPager实现带有动画的引导页

好了,又到我们学习基础控件的时候了,其实引导页很简单,就是五张图片而已 传统的ViewPager实现引导页和ListView是一样道理的,只是把ListView的Item换成图片,把BaseAdapter换成PagerAdapter,我们先来看下传统引导页的效果图 既然用到的是ViewPager,那么xml文件就必须要有ViewPager,细心的你,可能会发现最后一页还有个按钮的出现,没错,xml文件中也要有个按钮 开头也说了,Viewpager其实就和ListView一样的,需要一个Adapt