ViewPager实现引导页

1. 要使用ViewPager,必须要创建 PagerAdapter。 这里创建一个 ViewPagerAdapter来继承PagerAdapter

public class ViewPagerAdapter extends PagerAdapter{

    private List<View> views;   // 我们引导页的list
    private Context context;    // 上下文

    public ViewPagerAdapter(List<View> views, Context context) {
        this.views = views;
        this.context = context;
    }

    // 移除一个view
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        //super.destroyItem(container, position, object);
        container.removeView(views.get(position));
    }

    // 加载一个view
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(views.get(position));
        return views.get(position);
    }

    @Override
    public int getCount() { // 必写的方法 返回当前views的数量
      return this.views.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) { //必写的方法 判断当前的view是否是我们需要的对象
        return (view == object);
    }
}

2. 创建我们引导页的视图

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!--filpInterval 设置View之间切换的时间间隔 (在androidStudio上面跑不起来 可以不需要)
       persistentDrawingCache 持久化绘画缓存
   -->
    <android.support.v4.view.ViewPager
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#00000000"
        android:persistentDrawingCache="animation"
        android:id="@+id/viewpage"
        >
    </android.support.v4.view.ViewPager>
</RelativeLayout>

3. 创建引导页的图片视图 one.xml和two.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:background="@drawable/guide1"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView2"
        android:background="@drawable/guide2"/>

</LinearLayout>

 4. 在我们的activity中使用

 1 public class Guide extends Activity{
 2
 3     private ViewPager vp;
 4     private ViewPagerAdapter vpAdapter;
 5     private List<View> views;
 6
 7
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.guide);//加载guide.xml 视图
11         this.initView();
12
13         System.out.println("onCreate");
14     }
15
16     // 初始化view
17     public void initView() {
18         /*
19         * Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。
20           LayoutInflater的作用类似于 findViewById(),
21           不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!
22           而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
23         *
24         * */
25         LayoutInflater inflater = LayoutInflater.from(this);
26         views = new ArrayList<View>();
27         views.add(inflater.inflate(R.layout.one, null));  // 加载视图1
28         views.add(inflater.inflate(R.layout.two, null));  // 加载视图2
29
30         vpAdapter = new ViewPagerAdapter(views, this);   // 创建我们的 adapter
31         vp = (ViewPager) findViewById(R.id.viewpage);
32         vp.setAdapter(vpAdapter);                        // viewpage绑定 adapter
33     }
34 }

5. 运行就有引导页的两张图片,可以来回切换。

时间: 2024-11-17 01:26:18

ViewPager实现引导页的相关文章

ViewPager之引导页

一.概述 ViewPager是android-support-v4中提供的类,它是一个容器类,常用于页面之间的切换. 本文介绍ViewPager最基础的应用:在多个View之间进行切换,亦即ViewPager的每个页面是个View. 这种模式适合每个页面的逻辑较为简单的情况,比如去实现“小红书”引导页这样的效果: 二.实现思路 2.1 页面如何布局 这个引导页一共有三个页面,毫无疑问上面的标题和配图是隶属于viewpager不同页面内部的,而下面的俩按钮则是直接放在Activity的布局中. 那

ViewPager实现引导页(添加导航点,判断是否第一次进入主界面)

1.引导页的4个界面布局,里面加载一张背景图片 插入到guide的界面布局中(这里不用fragment) guide_background_fragment1.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width

ViewPager滑动引导页

ViewPager实现Animation动画引导页   http://blog.csdn.net/ye_scofield/article/details/44831357 SurfaceView实现动画引导页(1)       http://blog.csdn.net/ye_scofield/article/details/45153743 SurfaceView实现动画引导页(2)      http://blog.csdn.net/ye_scofield/article/details/45

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

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

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

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

添加数据储存(上一节引导页的问题)

1. 一般的APP都是,最开始启动的时候走引导页,下一次启动的时候就不走引导页,直接就到主页.为了实现这个功能. 这个里面的代码是基于 ViewPager实现引导页 这个来实现的. 创建 Welcome.java 欢迎Activity public class WelcomeAct extends Activity { private boolean isFirstIn = false; private static final int TIME = 2000; private static f

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零基础入门第69节:ViewPager快速实现引导页

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