安卓控件:viewpage实现带有动画的引导页

  

: viewpage实现带有动画的引导页,供大家参考,具体内容如下

  

好了,又到我们学习基础控件的时候了,其实引导页很简单,就是五张图片而已
  

  

<强>一、:viewpage实现传统的引导页

  

传统的:viewpage实现引导页和列表视图是一样道理的,只是把列表视图的物品换成图片,把BaseAdapter换成PagerAdapter,我们先来看下传统引导页的效果图

  

 Android控件:viewpage实现带有动画的引导页

  

<强>步骤一:

  

既然用到的是:viewpage,那么xml文件就必须要有:viewpage,细心的你,可能会发现最后一页还有个按钮的出现,没错,xml文件中也要有个按钮

        & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android: layout_width=" match_parent "   android: layout_height=癿atch_parent”比;      & lt; android.support.v4.view.ViewPager   android: id=癅 + id/vp_guide”   android: layout_width=" match_parent "   android: layout_height=" match_parent "/比;      & lt;按钮   android: id=癅 + id/bt_main”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_alignParentBottom=" true "   android: layout_centerInParent=" true "   android: layout_marginBottom=" 50 dp”   android:背景=" @color/colorPrimary”   android:填充=" 6 dp "   android:文本="立即开启”   android:输入textColor=" # fff”   android: textSize=" 16 dp "   android:可见性="了"/比;   & lt;/RelativeLayout>      之前      

<强>步骤二:

  

开头也说了,:viewpage其实就和ListView一样的,需要一个适配器,那么就从适配器入手.Google提供了一个专门适配:viewpage的适配器,PagerAdapter

        公开课GuideAdapter延伸PagerAdapter {   私人List视图;   私人上下文语境;      公共GuideAdapter (List视图、上下文语境){   这一点。上下文=上下文;   这一点。观点=视图;   }      公共对象instantiateItem(视图容器,int位置){   ((:viewpage)容器).addView (views.get(位置);   返回views.get(位置);   }      公共空间destroyItem(视图容器,int位置、对象对象){   ((:viewpage)容器).removeView (views.get(位置);   }      公共int getCount () {   返回views.size ();   }      公共布尔isViewFromObject(视图arg0,对象__arg1) {   返回(arg0==__arg1);   }   }      之前      

基本:viewpage的适配器都是这么写的,就是往:viewpage中添加名单传过来的视图和删除名单传过来的观点,可以说是每个:viewpage的模板
  

  

<强>步骤三:

  

我们找到对应的:viewpage,然后设置适配器,代码中的initViews, initListener, initData是按顺序执行下去的,这段代码不难,很容易看懂

  

        公共类GuideActivity BaseActivity实现:viewpage延伸。OnPageChangeListener {      私人:viewpage vp_guide;   私人int [] imgId={R.drawable。guide_center_1 R.drawable。guide_center_2 R.drawable.guide_center_3,   R.drawable。guide_center_4 R.drawable.guide_center_5};   私人ListmImageViews;   私人GuideAdapter适配器;   私人按钮bt_main;      @Override   公共空间initViews () {   setContentView (R.layout.activity_guide);   vp_guide=(: viewpage) findViewById (R.id.vp_guide);   bt_main=(按钮)findViewById (R.id.bt_main);   }      @Override   公共空间initListener () {   bt_main.setOnClickListener(这个);   vp_guide.setOnPageChangeListener(这个);   }      @Override   公共空间initData () {//初始化引导资源   ,mImageViews=new ArrayList<的在();   for (int i=0;我& lt;imgId.length;我+ +){   ImageView ImageView=new ImageView(这个);   imageView.setScaleType (ImageView.ScaleType.CENTER_CROP);   imageView.setImageResource (imgId[我]);   mImageViews.add (imageView);   }//设置引导页   适配器=new GuideAdapter (mImageViews,);   vp_guide.setAdapter(适配器);   }      @Override   公共空间processClick(查看v) {   开关(v.getId ()) {//按钮点击事件,跳转到主页面   案例R.id.bt_main:   目的意图=new (GuideActivity意图。这一点,MainActivity.class);   startActivity(意图);   完成();   打破;   }   }      @Override   公共空间>   & lt;活动   android: name=" .Activity.GuideActivity "   android:主题=" @android:风格/Theme.NoTitleBar.Fullscreen”/比;      

安卓控件:viewpage实现带有动画的引导页