ViewPager需要Android-support-v4.jar這個(gè)包的支持,來自google提供的一個(gè)附加包。大家搜下即可。
ViewPager主要用來組織一組數(shù)據(jù),并且通過左右滑動(dòng)的方式來展示托猩。
現(xiàn)在的大多數(shù)應(yīng)用都會(huì)有一個(gè)歡迎引導(dǎo)頁面,如圖所示辽慕,通過左右滑動(dòng)來告知用戶一些功能特性京腥。
這個(gè)引導(dǎo)圖效果用ViewPager可以很輕松的實(shí)現(xiàn)。
ViewPager是用來展示一組數(shù)據(jù)的溅蛉,所以我們需要Adapter來綁定數(shù)據(jù)和view公浪。先寫一個(gè)Adapter:
packagecom.van.viewpage.viewpage;
importandroid.content.Context;
importandroid.support.v4.view.PagerAdapter;
importandroid.view.View;
importandroid.view.ViewGroup;
importjava.util.List;
/**
* Created by Administrator on 2016/6/5.
*/
public classViewPageAdapterextendsPagerAdapter{
//界面列表
privateListviews;
privateContextcontext;
publicViewPageAdapter(List views,Context context){
this.views= views;
this.context= context;
}
//移除不需要的view(當(dāng)前的)
@Override
public voiddestroyItem(ViewGroup container,intposition, Object object) {
container.removeView(views.get(position));
}
//初始化position位置的界面(加載view)
@Override
publicObject instantiateItem(ViewGroup container,intposition) {
container.addView(views.get(position));
returnviews.get(position);
}
@Override
public intgetCount() {
return views.size();
}
//判斷是否當(dāng)前的view等于當(dāng)前數(shù)
@Override
public booleanisViewFromObject(View view, Object object) {
returnview == object;
}
}
這里我們要綁定的每一個(gè)item就是一個(gè)引導(dǎo)界面,我們用一個(gè)List來保存船侧。
通過繼承ViewPagerAdapter欠气,并實(shí)現(xiàn)幾個(gè)我寫注釋的方法即可。
布局界面比較簡單镜撩,加入ViewPager組件:
guidel.xml
<?xml version="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns: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/viewpage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
></android.support.v4.view.ViewPager>
</RelativeLayout>
MainActicity.java
packagecom.van.viewpage.viewpage;importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.support.v4.view.ViewPager;
importandroid.view.LayoutInflater;
importandroid.view.View;
importjava.util.ArrayList;
importjava.util.List;
/**
* Created by Administrator on 2016/6/5.
*/
public class MainActicity extends Activity {
privateViewPagerviewpage;
privateViewPageAdapteradapter;
privateListviews;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guide);
viewpage= (ViewPager) findViewById(R.id.viewpage);
initViews();
}
private voidinitViews() {
LayoutInflater inflater = LayoutInflater.from(this);
views=newArrayList();
views.add(inflater.inflate(R.layout.one,null));
views.add(inflater.inflate(R.layout.two,null));
views.add(inflater.inflate(R.layout.three,null));
views.add(inflater.inflate(R.layout.four,null));
views.add(inflater.inflate(R.layout.five,null));
adapter=newViewPageAdapter(views,this);
viewpage.setAdapter(adapter);
}
}