实例讲解Android中ViewPager组件的一些进阶使用技巧

我们经常看到使用了ViewPager的App,在每页上面都会有一个滑块来标志当前处于哪一页。在PagerView包里有android.support.v4.view.PagerTitleStrip和android.support.v4.view.PagerTabStrip两个组件,可以在布局文件中,作为ViewPager的子标签,并设定相对与ViewPager的位置(比如顶部)。但这两个组件都很丑,并且标题会随着页面一起滑动,所以一般都不用。

其实实现一个滑块标志当前页面也很简单,大概需要两步:

第一步 在布局文件ViewPager的上方放置一个ImageView组件,组件可以是图片或是shape资源。注意需要把ImageView的scaleType属性设为matrix,就是说该组件的位置和大小由一个变换矩阵来控制;

第二步 在Activity中为ViewPager组件添加OnPageChangeListener监听器。在OnPageChangeListener里设定matrix,用于控制指示滑块ImageView的位置。该监听器需要实现三个方法:

onPageScrollStateChanged:用于监听滑动状态的改变

onPageScrolled:用于监听滑动的动作

onPageSeleted:用于监听页面的切换,即某个页面被选中了作为当前页面。

一般实现onPageSelected方法就可以,其他两个方法可以空着。另外为了使页面切换时滑块也是平滑地滑动,可以给滑块的ImageView指定一个TranslateAnimation动画,指定动画用setAnimation,TranlateAnimation也很简单,有个构造函数是TranslateAnimation(int beginX,int endX,int beginY,int endY),将运动矢量的起始位置和终止位置传给它就好了。

下面我们来看五个具体的例子:


一 实现ViewPager(数据源为List<View>)

1.先在main.xml文件中添加一个ViewPager:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" > 

  <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  </android.support.v4.view.ViewPager> 

</LinearLayout>

2.创建三个View:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" > 

  <TextView
    android:id="@+id/txt1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:textSize="25dp"
    android:text="第一页" >
  </TextView> 

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" > 

  <TextView
    android:id="@+id/txt2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="第二页" >
  </TextView> 

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <TextView
    android:id="@+id/txt3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="第三页" >
  </TextView>

</LinearLayout>

3.创建一个ViewPager适配器类:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup; 

public class ViewPagerAdapter extends PagerAdapter {
  private List<View> lViews=new ArrayList<View>(); 

  public ViewPagerAdapter(List<View> lViews){
    this.lViews=lViews;
  } 

  @Override
  public int getCount() {
    return lViews.size();
  } 

  @Override
  public boolean isViewFromObject(View arg0, Object arg1) {
    return arg0==arg1;
  }
  @Override
  public Object instantiateItem(ViewGroup container, int position) {
    container.addView(lViews.get(position));
    return lViews.get(position);
  }
  @Override
  public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView(lViews.get(position));
  } 

}

4.MainActivity.java:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.os.Build; 

public class MainActivity extends ActionBarActivity {
  private ViewPager viewPager;
  private List<View> listViews=null;
  ViewPagerAdapter pagerAdapter; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main); 

    viewPager=(ViewPager) findViewById(R.id.pager);
    listViews=new ArrayList<View>();
    /**
     * 为Adapter创建数据源
     */
    View view1=View.inflate(this, R.layout.view1, null);
    View view2=View.inflate(this, R.layout.view2, null);
    View view3=View.inflate(this, R.layout.view3, null);
    listViews.add(view1);
    listViews.add(view2);
    listViews.add(view3);
    pagerAdapter=new ViewPagerAdapter(listViews) ;
    viewPager.setAdapter(pagerAdapter); 

  } 

}

5.运行实例:


可以实现翻页效果。

二 添加标题
1.我们需要更改main.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" > 

  <android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" > 

    <android.support.v4.view.PagerTabStrip
      android:id="@+id/strip"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="top" >
    </android.support.v4.view.PagerTabStrip>
  </android.support.v4.view.ViewPager> 

</LinearLayout>

2.需要更改适配器文件:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup; 

public class ViewPagerAdapter extends PagerAdapter {
  private List<View> lViews=new ArrayList<View>();
  private List<String> titleList=new ArrayList<String>(); 

  public ViewPagerAdapter(List<View> lViews,List<String> titleList){
    this.lViews=lViews;
    this.titleList=titleList;
  } 

  @Override
  public int getCount() {
    return lViews.size();
  } 

  @Override
  public boolean isViewFromObject(View arg0, Object arg1) {
    return arg0==arg1;
  }
  @Override
  public Object instantiateItem(ViewGroup container, int position) {
    container.addView(lViews.get(position));
    return lViews.get(position);
  }
  @Override
  public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView(lViews.get(position));
  }
  /**
   * 标题
   */
  @Override
  public CharSequence getPageTitle(int position) {
    // TODO Auto-generated method stub
    return titleList.get(position);
  } 

}

3.需要更改MainActivity.java文件:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.os.Build; 

public class MainActivity extends ActionBarActivity {
  private ViewPager viewPager;
  private List<View> listViews=null;
  ViewPagerAdapter pagerAdapter;
  PagerTabStrip pagerTabStrip;
  private List<String> titleList; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main); 

    viewPager=(ViewPager) findViewById(R.id.pager);
    pagerTabStrip=(PagerTabStrip) findViewById(R.id.strip);
    listViews=new ArrayList<View>();
    titleList=new ArrayList<String>();
    titleList.add("第一页");
    titleList.add("第二页");
    titleList.add("第三页");
    /**
     * 为Adapter创建数据源
     */
    View view1=View.inflate(this, R.layout.view1, null);
    View view2=View.inflate(this, R.layout.view2, null);
    View view3=View.inflate(this, R.layout.view3, null);
    listViews.add(view1);
    listViews.add(view2);
    listViews.add(view3);
    pagerAdapter=new ViewPagerAdapter(listViews,titleList) ;
    viewPager.setAdapter(pagerAdapter); 

  } 

}

4.运行实例如下:

三 实现ViewPager(数据源为List<Fragment>)
1.首先我们要创建三个Fragment:

package com.yayun.viewpagerdemo; 

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; 

public class Fragment1 extends Fragment {
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    return inflater.inflate(R.layout.view1, container, false);
  } 

} 

package com.yayun.viewpagerdemo; 

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; 

public class Fragment2 extends Fragment {
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    return inflater.inflate(R.layout.view2, container, false);
  } 

} 

package com.yayun.viewpagerdemo; 

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; 

public class Fragment3 extends Fragment {
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    return inflater.inflate(R.layout.view3, container, false);
  } 

}

2.设置Adapter:

package com.yayun.viewpagerdemo; 

import java.util.List; 

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter; 

public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
  List<Fragment> fragmentsList;
  List<String> titleList; 

  public MyFragmentPagerAdapter(FragmentManager fm,List<Fragment> fragmentsList,List<String> titleList) {
    super(fm);
    this.fragmentsList=fragmentsList;
    this.titleList=titleList;
  } 

  @Override
  public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    return fragmentsList.get(arg0);
  } 

  @Override
  public int getCount() {
    // TODO Auto-generated method stub
    return fragmentsList.size();
  }
@Override
/**
 * 添加标题
 */
public CharSequence getPageTitle(int position) {
  // TODO Auto-generated method stub
  return titleList.get(position);
} 

}

3.MainActivity.java:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.PageTransformer;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.Window; 

public class MainActivity extends ActionBarActivity {
  private ViewPager viewPager;
  private List<View> listViews=null;
  ViewPagerAdapter pagerAdapter;
  PagerTabStrip pagerTabStrip;
  private List<String> titleList;
  private List<Fragment> fragmentsList;
  MyFragmentPagerAdapter myFragmentPagerAdapter; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main); 

    viewPager=(ViewPager) findViewById(R.id.pager);
    pagerTabStrip=(PagerTabStrip) findViewById(R.id.strip); 

    /**
     * 设置PagerTabStrip属性
     */
    pagerTabStrip.setBackgroundColor(Color.GREEN);
    pagerTabStrip.setDrawFullUnderline(false);
    pagerTabStrip.setTextColor(Color.WHITE);
    listViews=new ArrayList<View>();
    titleList=new ArrayList<String>();
    fragmentsList=new ArrayList<Fragment>();
    fragmentsList.add(new Fragment1());
    fragmentsList.add(new Fragment2());
    fragmentsList.add(new Fragment3());
    titleList.add("第一页");
    titleList.add("第二页");
    titleList.add("第三页");
    /**
     * 为Adapter创建数据源
     */
    View view1=View.inflate(this, R.layout.view1, null);
    View view2=View.inflate(this, R.layout.view2, null);
    View view3=View.inflate(this, R.layout.view3, null);
    listViews.add(view1);
    listViews.add(view2);
    listViews.add(view3);
    pagerAdapter=new ViewPagerAdapter(listViews,titleList) ;
    myFragmentPagerAdapter=new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList, titleList);
    //viewPager.setAdapter(pagerAdapter);
    viewPager.setAdapter(myFragmentPagerAdapter); 

  } 

}

4.运行实例:

这种方法不会销毁不在当前页面的页面,不能实现页卡的创建和销毁。

四 实现ViewPager(数据源为List<Fragment>实现FargmentStatePagerAdapter)常用
改变Adapter:

package com.yayun.viewpagerdemo; 

import java.util.List; 

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.View; 

public class MyFragmentPagerAdapter2 extends FragmentStatePagerAdapter {
  List<Fragment> fragmentsList;
  List<String> titleList; 

  public MyFragmentPagerAdapter2(FragmentManager fm,List<Fragment> fragmentsList,List<String> titleList) {
    super(fm);
    this.fragmentsList=fragmentsList;
    this.titleList=titleList;
  } 

  @Override
  public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    return fragmentsList.get(arg0);
  } 

  @Override
  public int getCount() {
    // TODO Auto-generated method stub
    return fragmentsList.size();
  }
@Override
/**
 * 添加标题
 */
public CharSequence getPageTitle(int position) {
  // TODO Auto-generated method stub
  return titleList.get(position);
}
@Override
public Object instantiateItem(View container, int position) {
  // TODO Auto-generated method stub
  return super.instantiateItem(container, position);
}
@Override
public void destroyItem(View container, int position, Object object) {
  // TODO Auto-generated method stub
  super.destroyItem(container, position, object);
} 

}

将MainActivity.java中的Adapter换一下即可,它可以实现页卡的创建和销毁。

五  onPagerChangeListener 监听使用
只需要修改MainActivity.java:

package com.yayun.viewpagerdemo; 

import java.util.ArrayList;
import java.util.List; 

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v4.view.ViewPager.PageTransformer;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.Window;
import android.widget.Toast; 

public class MainActivity extends ActionBarActivity implements OnPageChangeListener {
  private ViewPager viewPager;
  private List<View> listViews=null;
  ViewPagerAdapter pagerAdapter;
  PagerTabStrip pagerTabStrip;
  private List<String> titleList;
  private List<Fragment> fragmentsList;
  MyFragmentPagerAdapter myFragmentPagerAdapter; 

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main); 

    viewPager=(ViewPager) findViewById(R.id.pager);
    pagerTabStrip=(PagerTabStrip) findViewById(R.id.strip); 

    /**
     * 设置PagerTabStrip属性
     */
    pagerTabStrip.setBackgroundColor(Color.GREEN);
    pagerTabStrip.setDrawFullUnderline(false);
    pagerTabStrip.setTextColor(Color.WHITE);
    listViews=new ArrayList<View>();
    titleList=new ArrayList<String>();
    fragmentsList=new ArrayList<Fragment>();
    fragmentsList.add(new Fragment1());
    fragmentsList.add(new Fragment2());
    fragmentsList.add(new Fragment3());
    titleList.add("第一页");
    titleList.add("第二页");
    titleList.add("第三页");
    /**
     * 为Adapter创建数据源
     */
    View view1=View.inflate(this, R.layout.view1, null);
    View view2=View.inflate(this, R.layout.view2, null);
    View view3=View.inflate(this, R.layout.view3, null);
    listViews.add(view1);
    listViews.add(view2);
    listViews.add(view3);
    pagerAdapter=new ViewPagerAdapter(listViews,titleList) ;
    myFragmentPagerAdapter=new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList, titleList);
    //viewPager.setAdapter(pagerAdapter);
    viewPager.setAdapter(myFragmentPagerAdapter);
    viewPager.setOnPageChangeListener(this);//加载监听器 

  } 

  @Override
  public void onPageScrollStateChanged(int arg0) {
    // TODO Auto-generated method stub 

  } 

  @Override
  public void onPageScrolled(int arg0, float arg1, int arg2) {
    // TODO Auto-generated method stub 

  } 

  @Override
  public void onPageSelected(int arg0) {
    Toast.makeText(this, "当前页面为"+(arg0+1), Toast.LENGTH_SHORT).show(); 

  } 

}

运行实例即可以显示当前页面标签。

(0)

相关推荐

  • Android ViewPager制作新手导航页(动态加载)

    我们来讲个老生常谈的话题,估计大家都用过的->ViewPager,用它来做新手导航页面,虽然这次也是讲这个,但是和以往的用法可能有些不同,大家都看到标题进来的,应该知道的是:动态加载指示器. 什么叫动态加载呢,是不是感觉很高大上呢,其实呢就是动态的去加载指示器的数量的,而不是在布局文件中写死.希望看了这篇文章大家对ViewPager有新的认识. 看到这个效果大家应该都很不屑吧,今天讲这个就是为了让大家有新的认识.好了,好好听,开始了. 这个动态加载就是为了动态的加载下面的灰色圆点指示器和红色圆点

  • Android App开发中ViewPager组件的入门使用教程

    首先让大家有个全局的认识,直接上个项目,看看仅仅通过这几行代码,竟然就能完成如此强悍的功能.下篇再仔细讲讲为什么要这么写. 效果图: 实现了三个view间的相互滑动 第一个VIEW向第二个VIEW滑动: 第二个VIEW向第三个VIEW滑动: 一.新建项目,引入ViewPager控件 ViewPager.它是google SDk中自带的一个附加包的一个类,可以用来实现屏幕间的切换. 1.在主布局文件里加入 <RelativeLayout xmlns:android="http://schem

  • 举例讲解Android中ViewPager中的PagerTitleStrip子控件

    先看个简单的,先上个效果图,吸引大家一下眼球. 三个页面间的滑动,此时是带着上面的标题一块滑动的. 看一下android 对于PagerTitleStrip的官方解释: PagerTitleStrip是ViewPager的一个关于当前页面.上一个页面和下一个页面的一个非交互的指示器.它经常作为ViewPager控件的一个子控件被被添加在XML布局文件中.在你的布局文件中,将它作为子控件添加在ViewPager中.而且要将它的 android:layout_gravity 属性设置为TOP或BOT

  • Android中ViewPager实现滑动条及与Fragment结合的实例教程

    自主实现滑动指示条 先上一个基本效果图: 1.XML布局 布局代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="m

  • Android实现千变万化的ViewPager切换动画

    之前写过一篇文章:Android自定义ViewPager实现个性化的图片切换效果,有朋友提出,ViewPager自带了一个setPageTransformer用于设置切换动画~ 本篇文章,将进行以下内容学习: 1.介绍如何使用setPageTransformer设置切换动画: 2.自定义PageTransformer实现个性的切换动画: 3.该方法在SDK11以下的版本不起作用,我们会对其做一定修改,让其向下兼容. 官方示例地址:http://developer.android.com/trai

  • Android利用HorizontalScrollView仿ViewPager设计简单相册

    最近学习了一个视频公开课,讲到了利用HorizontalScrollView仿ViewPager设计的一个简单相册,其实主要用了ViewPager缓存的思想.此篇文章参考:Android自定义HorizontalScrollView打造超强Gallery效果(这篇文章与公开课的讲的大致一样) 这里简单说一下ViewPager的缓存机制 1.进入ViewPager时,加载当前页和后一页: 2.当滑动ViewPager至下一页时,加载后一页,此时第一页是不会销毁的,同时加载当前页的下一页. 其实就是

  • Android中的ViewPager视图滑动切换类的入门实例教程

    ViewPager引入示例 首先让大家有个全局的认识,直接上个项目,看看仅仅通过这几行代码,竟然就能完成如此强悍的功能. 效果图: 实现了三个view间的相互滑动. 第一个VIEW向第二个VIEW滑动.第二个VIEW向第三个VIEW滑动 一.新建项目,引入ViewPager控件 ViewPager.它是google SDk中自带的一个附加包的一个类,可以用来实现屏幕间的切换. 1.在主布局文件里加入 <RelativeLayout xmlns:android="http://schemas

  • Android中ViewPager的PagerTabStrip与PagerTitleStrip用法实例

    零.概览 1.ViewPager说白了就是个控件,在使用时包名要带全是Android.support.v4.view.ViewPager.由于我的ADT-Bundle版本比较高,这个包默认自带了,且默认是随apk打包导出的.如下图: 如果在Android Private Libraries里没这个包,则要自己在属性的Libraries里自己添加.添加后记得在上图所示的Order and Export里将其打勾. 2.理论上说要实现滑屏只要一个ViewPager就可以了,不需要再在里面嵌套如下:

  • Android App中用Handler实现ViewPager页面的自动切换

    在很多电商网页及app上都有自动切换的商品的推广快,感觉体验挺不错的,正好今天学习使用ViewPager,因此也实现了一个功能类似的demo. 下面是其中的两个截图: 实现一个自动播放功能的ViewPager,要做的主要有以下的几个部分: 实现一个ViewPagerAdapter,用于为ViewPager提供展示内容(例如上面的两张小猫图片) public class ViewPagerAdapter extends PagerAdapter { private List<View> mDat

  • 详解Android App中创建ViewPager组件的方法

    现在很多app一打开就是一个ViewPager,然后可以用手指滑,每滑一次就换一张图,底下还会有圈圈表示说现在滑到第几章~ 通常这些图片都是放功能简介或是使用教学之类的,我的需求很简单,就是上面提到的那样而已. 有两种做法,一种是找现有套件,查了一堆资料每个都跟我推荐ViewPagerIndicator这套,我之前也看过这套,只是看起来需要有fragment再加上google play范例好像载不到了,所以只好自己实做一个. Viewpager的实作可参考Android ViewPager使用详

  • Android自定义ViewPager实现个性化的图片切换效果

    第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开始让ViewPager来做.时间长了,ViewPager的切换效果觉得枯燥,形成了审美疲劳~~我们需要改变,今天教大家如何改变ViewPager切换时的效果,实现个性化的图片切换 看一下这样效果的图片切换: 是不是比传统的效果个性很多,嘿嘿~~其实很简单,学习完这篇文章,保证你可以自定义切换效果,做出各式各样的效果. 1.制作前的分析 观察下效果图,实际上

  • Android应用中利用ViewPager实现多页面滑动切换效果示例

    1.添加android support包 因为上面的几个类都是在android support包中才提供,我们先添加包. 在Eclipse->Window->Android SDK Manager,选择列表中Extras->Android Support Library进行安装.下载完后在android-sdk\extras\android\support目录下,这里我们选择v4版本,进入v4目录,拷贝其中的android-support-v4.jar文件到工程的libs目录(若没有新建

  • Android中viewPager使用指南

    viewPager是谷歌官方提供的一种方便实现页面滑动效果的控件,可以直接使用也可以和fragment联合使用.这里只简单说下直接使用.  使用viewPager的步骤如下: (1)在布局中放入viewPager的控件  (2)设置加载到viewPager中的view  (3)编写viewPager特有的adapter  (4)实例化viewPager并给他绑定上步设置的adapter 这个步骤体现的也是MVC思想,可以参考我之前的文章http://www.jb51.net/article/78

随机推荐