Android开发Android技术知识Android知识

ViewPage实现欢迎引导页面

2016-06-05  本文已影响642人  脑袋君

ViewPager需要Android-support-v4.jar这个包的支持,来自google提供的一个附加包。大家搜下即可。

ViewPager主要用来组织一组数据,并且通过左右滑动的方式来展示。

现在的大多数应用都会有一个欢迎引导页面,如图所示,通过左右滑动来告知用户一些功能特性。

viewpage

这个引导图效果用ViewPager可以很轻松的实现。

ViewPager是用来展示一组数据的,所以我们需要Adapter来绑定数据和view。先写一个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(当前的)

@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();

}

//判断是否当前的view等于当前数

@Override

public booleanisViewFromObject(View view, Object object) {

returnview == object;

}

}

这里我们要绑定的每一个item就是一个引导界面,我们用一个List来保存。

通过继承ViewPagerAdapter,并实现几个我写注释的方法即可。

布局界面比较简单,加入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);

}

}

上一篇下一篇

猜你喜欢

热点阅读