怎么在Android中利用:viewpage实现一个屏幕滑动效果

  介绍

本篇文章给大家分享的是有关怎么在Android中利用:viewpage实现一个屏幕滑动效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>创建视图

创建一个在之后作为片段的内容的布局文件,下面的例子中包含一个Textview,用来展示一些文字。

& lt; !——, fragment_screen_slide_page.xml ——比;   & lt; ScrollView  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:才能id=癅 + id/content"   android:才能layout_width=癿atch_parent"   android:才能layout_height=癿atch_parent",在      & lt;才能TextView    ,,,android:填充=?6 dp"   ,,,android: lineSpacingMultiplier=?.2”;   ,,,android: layout_width=癿atch_parent"   ,,,android: layout_height=皐rap_content"   ,,,android:文本=癅string/lorem_ipsum",/比;   & lt;/ScrollView>

<强>创建片段

创建一个片段子类,并在onCreateView()方法中加载上一步里创建的布局。

import  android.support.v4.app.Fragment;   …   public  class  ScreenSlidePageFragment  extends  Fragment  {      @Override才能   public 才能;View  onCreateView (LayoutInflater 增压泵,ViewGroup 容器,   ,,,,,Bundle  savedInstanceState), {   ,,,ViewGroup  rootView =, (ViewGroup), inflater.inflate (   ,,,,,,,,,R.layout.fragment_screen_slide_page容器,假);      ,,,return  rootView;   ,,}   }

创建完成之后,就可以在父活动中创建任意个该片段的实例来向用户展示内容了。

<强>添加:viewpage

: viewpage内嵌了对滑动手势的支持,因此它在默认设置下就能够实现屏幕滑动。
首先,创建一个布局文件,包含一个:viewpage:

& lt; !——, activity_screen_slide.xml ——比;   & lt; android.support.v4.view.ViewPager   ,,xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:才能id=癅 + id/pager"   android:才能layout_width=癿atch_parent"   android:才能layout_height=癿atch_parent",/在

创建一个活动,包含以下内容:

将其内容视图设置为上面创建的布局
创建一个FragmentStatePagerAdapter的子类,并实现其getItem()方法来提供页面,getCount()方法来确定页面数量。
将FragmentStatePagerAdapter实例和:viewpage实例绑定。
处理设备的返回键,使其能够从虚拟的片段栈中移除片段来实现返回上一页的效果。如果当前已经处于第一页,那么就从活动中返回。

import  android.support.v4.app.Fragment;   import  android.support.v4.app.FragmentManager;   …   public  class  ScreenSlidePagerActivity  extends  FragmentActivity  {   ,/* *   ,,*,从而number  of  pages  (wizard 步骤),用show 拷贝却;能够演示。   ,,*/private 才能static  final  int  NUM_PAGES =, 5;      ,/* *   ,,*,从而pager 小部件,,which  handles  animation 以及allows  swiping  horizontally 用access 之前   ,,*,以及next  wizard 步骤。   ,,*/private 才能;ViewPager  mPager;      ,/* *   ,,*,从而pager 适配器,which  provides 从而pages 用,view  pager 小部件。   ,,*/private 才能;PagerAdapter  mPagerAdapter;      @Override才能   protected 才能;void  onCreate (Bundle  savedInstanceState), {   ,,,super.onCreate (savedInstanceState);   ,,,setContentView (R.layout.activity_screen_slide);      ,,,//,Instantiate  a  ViewPager 以及a  PagerAdapter。   ,,,mPager =, (: viewpage), findViewById (R.id.pager);   ,,,mPagerAdapter =, new  ScreenSlidePagerAdapter (getSupportFragmentManager ());   ,,,mPager.setAdapter (mPagerAdapter);   ,,}      @Override才能   public 才能;void  onBackPressed (), {   ,,,if  (mPager.getCurrentItem (),==, 0), {   ,,,,,//,If 从而user  is  currently  looking  at 从而first 一步,allow 从而system 用handle    ,,,,,//,Back 按钮只却;能够calls 完成(),提醒却;能够activity 以及pops 从而Back 堆栈。   ,,,,,super.onBackPressed ();   ,,,},{else    ,,,,,//,否则,select 从而previous 步骤。   ,,,,,mPager.setCurrentItem (mPager.getCurrentItem(),安康;1);   ,,,}   ,,}      ,/* *   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Android中利用:viewpage实现一个屏幕滑动效果