:viewpage + PagerAdapter实现带指示器的引导页

  

一个简单的引导页,由:viewpage和PagerAdapter组成,供大家参考,具体内容如下

        包com.xspacing.viewpager;      进口java.util.ArrayList;   进口并不知道;      进口android.app.Activity;   进口android.os.Bundle;   进口android.support.v4.view.ViewPager;   进口android.support.v4.view.ViewPager.OnPageChangeListener;   进口android.util.Log;   进口android.view.View;   进口android.view.ViewTreeObserver.OnGlobalLayoutListener;   进口android.widget.Button;   进口android.widget.ImageView;   进口android.widget.LinearLayout;   进口android.widget.LinearLayout.LayoutParams;   进口android.widget.RelativeLayout;/* *   *   * @ClassName MainActivity.java   * @Description TODO引导页   * @author微笑   * @version v1.0   * @date 2016年9月26日   */公开课MainActivity延伸活动{      保护静态最终字符串标签=癕ainActivity”;   :viewpage mViewPager;   List列表;   私人LinearLayout mLinearLayout;//两个小灰点的距离   私人int poitWidth;   私人ImageView mViewPress;   私人ImageView mViewNotPress;   私人按钮btnStart;      @Override   保护空白>   包com.xspacing.viewpager;      进口并不知道;      进口android.content.Context;   进口android.support.v4.view.PagerAdapter;   进口android.view.View;   进口android.view.ViewGroup;   进口android.widget.ImageView;      公开课ViewPgerAdapter延伸PagerAdapter {      上下文mContext;   List列表;      公共ViewPgerAdapter(上下文语境,List列表){   这一点。mContext=上下文;   这一点。列表=;   }//页数   @Override   公共int getCount () {   返回list.size ();   }//复用页卡   @Override   公共布尔isViewFromObject(视图视图对象obj) {   返回查看==obj;   }//销毁页卡   @Override   公共空间destroyItem (ViewGroup容器,int位置、对象对象){   container.removeView (list.get(位置));   }//生成页卡   @Override   公共对象instantiateItem (ViewGroup容器,int位置){   视图视图=list.get(位置);   container.addView(查看);   返回视图;   }      }      

形状文件         & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;形状xmlns: android=" http://schemas.android.com/apk/res/android "   android:形状=巴衷病北?      大小& lt;   android:身高=" 10 dp”   android:宽度=" 10 dp/比;   & lt;固体android:颜色=" # C3C3C3”/比;      & lt;/shape>            & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;形状xmlns: android=" http://schemas.android.com/apk/res/android "   android:形状=巴衷病北?      大小& lt;   android:身高=" 10 dp”   android:宽度=" 10 dp/比;   & lt;固体android:颜色=" # 44 ff0000 "/比;      & lt;/shape>            & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   工具:上下文=" com.xspacing.viewpager。祝辞MainActivity”;      & lt; android.support.v4.view.ViewPager   android: id=癅 + id/main_view_pager”   android: layout_width=" match_parent "   android: layout_height=癿atch_parent”比;   & lt;/android.support.v4.view.ViewPager>      & lt;使用   android: id=癅 + id/main_relative”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_alignParentBottom=" true "   android: layout_centerHorizontal=" true "   android: layout_marginBottom=" 50 dp”比;      LinearLayout & lt;   android: id=癅 + id/main_point”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   面向android:="水平"比;   & lt;/LinearLayout>      & lt; ImageView   android: id=癅 + id/main_red_point_press”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:背景=癅drawable/shape_red_point_press”/比;   & lt;/RelativeLayout>      & lt;按钮   android: id=癅 + id/main_btn”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_marginBottom=" 30 dp "   android:可见性="了"   android: layout_above=" @ id/main_relative”   android: layout_centerHorizontal=" true "   android:文本="开始体验”/比;      & lt;/RelativeLayout>

:viewpage + PagerAdapter实现带指示器的引导页