用ViewPager实现欢迎引导页面

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

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

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



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

正如前面所说,ViewPager是用来展示一组数据的,所以肯定需要Adapter来绑定数据和view。先写一个Adapter

1、<wbr></wbr>布局界面比较简单,加入ViewPager组件,以及底部的引导小点:

<?xmlversion="1.0"encoding="utf-8"?>

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

<wbr><wbr><wbr></wbr></wbr></wbr>android:layout_width="fill_parent"

<wbr><wbr><wbr></wbr></wbr></wbr>android:layout_height="fill_parent"

<wbr><wbr><wbr></wbr></wbr></wbr>android:orientation="vertical">

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><android.support.v4.view.ViewPager

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:id="@+id/viewpager"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="fill_parent"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_height="fill_parent"/>

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><LinearLayout

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:id="@+id/ll"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="wrap_content"

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>android:layout_height="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_alignParentBottom="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_centerHorizontal="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_marginBottom="24.0dip"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:orientation="horizontal"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr><ImageView

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_height="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_gravity="center_vertical"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:clickable="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:padding="15.0dip"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:src="@drawable/dot"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:background="@drawable/dot1"/>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr><ImageView

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_height="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_gravity="center_vertical"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:clickable="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:padding="15.0dip"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:src="@drawable/dot"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:background="@drawable/dot1"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>/>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr><ImageView

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_height="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_gravity="center_vertical"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:clickable="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:padding="15.0dip"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:src="@drawable/dot"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:background="@drawable/dot1"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>/>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr><ImageView

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_width="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_height="wrap_content"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:layout_gravity="center_vertical"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:clickable="true"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:padding="15.0dip"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:src="@drawable/dot"

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>android:background="@drawable/dot1"/>

<wbr><wbr><wbr></wbr></wbr></wbr></LinearLayout>

<wbr></wbr>

</RelativeLayout>

<wbr></wbr>

2、其中小点的图片用一个selector来控制颜色(设置itemenabletrue或者false

dot.xml:<wbr></wbr>

<?xmlversion="1.0"encoding="UTF-8"?>

<selector

<wbr></wbr>xmlns:android="http://schemas.android.com/apk/res/android">

<wbr><wbr><wbr></wbr></wbr></wbr><itemandroid:state_enabled="true"android:drawable="@drawable/dark_dot"/>

<wbr><wbr><wbr></wbr></wbr></wbr><itemandroid:state_enabled="false"android:drawable="@drawable/white_dot"/>

</selector>

<wbr></wbr>

<wbr></wbr>

3、<wbr></wbr>java文件

importjava.util.ArrayList;

importjava.util.List;

<wbr></wbr>

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.os.Parcelable;

importandroid.support.v4.view.PagerAdapter;

importandroid.support.v4.view.ViewPager;

importandroid.support.v4.view.ViewPager.OnPageChangeListener;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.ImageView;

importandroid.widget.LinearLayout;

<wbr></wbr>

publicclassWelcomeActivityextendsActivityimplementsOnClickListener, OnPageChangeListener{

<wbr><wbr><wbr></wbr></wbr></wbr><wbr></wbr>privateViewPagervp;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privateViewPagerAdaptervpAdapter;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privateList<View>views;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//引导图片资源

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privatestaticfinalint[]pics= {R.drawable.whatsnew_00,

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>R.drawable.whatsnew_01,R.drawable.whatsnew_02,

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>R.drawable.whatsnew_03};

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//底部小店图片

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privateImageView[]dots;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//记录当前选中位置

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privateintcurrentIndex;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>publicvoidonCreate(Bundle savedInstanceState) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>super.onCreate(savedInstanceState);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>setContentView(R.layout.main);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>views=newArrayList<View>();

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>LinearLayout.LayoutParams mParams =newLinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>LinearLayout.LayoutParams.WRAP_CONTENT);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//初始化引导图片列表

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>for(inti=0; i<pics.length; i++) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>ImageView iv =newImageView(this);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>iv.setLayoutParams(mParams);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>iv.setImageResource(pics[i]);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>views.add(iv);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>vp= (ViewPager) findViewById(R.id.viewpager);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//初始化Adapter

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>vpAdapter=newViewPagerAdapter(views);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>vp.setAdapter(vpAdapter);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//绑定回调

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>vp.setOnPageChangeListener(this);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//初始化底部小点

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>initDots();

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privatevoidinitDots() {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>LinearLayout ll = (LinearLayout) findViewById(R.id.ll);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots=newImageView[pics.length];

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//循环取得小点图片

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>for(inti = 0; i <pics.length; i++) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//得到一个LinearLayout下面的每一个子元素

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[i] = (ImageView) ll.getChildAt(i);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[i].setEnabled(true);//都设为灰色

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[i].setOnClickListener(this);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[i].setTag(i);//设置位置tag,方便取出与当前位置对应

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>currentIndex= 0;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[currentIndex].setEnabled(false);//设置为白色,即选中状态

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privatevoidsetCurView(intposition)

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>{

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>if(position < 0 || position >=pics.length) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>return;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>vp.setCurrentItem(position);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>privatevoidsetCurDot(intpositon)

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>{

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>if(positon < 0 || positon >pics.length- 1 ||currentIndex== positon) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>return;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[positon].setEnabled(false);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>dots[currentIndex].setEnabled(true);

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>currentIndex= positon;

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//当滑动状态改变时调用

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>publicvoidonPageScrollStateChanged<wbr>(</wbr>intarg0) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//当当前页面被滑动时调用

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>publicvoidonPageScrolled(intarg0,floatarg1,intarg2) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>//当新的页面被选中时调用

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>publicvoidonPageSelected(intarg0) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//设置底部小点选中状态

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>setCurDot(arg0);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>publicvoidonClick(View v) {

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>intposition = (Integer)v.getTag();

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>setCurView(position);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>setCurDot(position);

<wbr><wbr><wbr></wbr></wbr></wbr><wbr><wbr><wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr></wbr></wbr></wbr>publicclassViewPagerAdapterextendsPagerAdapter{

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//界面列表

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>privateList<View>views;

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicViewPagerAdapter (List<View> views){

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>this.views= views;

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//销毁arg1位置的界面

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicvoiddestroyItem(View arg0,intarg1, Object arg2) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>((ViewPager) arg0).removeView(views.get(arg1));<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicvoidfinishUpdate(View arg0) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//获得当前界面数

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicintgetCount() {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>if(views!=null)

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>{

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>returnviews.size();

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>return0;

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//初始化arg1位置的界面

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicObject instantiateItem(View arg0,intarg1) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>((ViewPager) arg0).addView(views.get(arg1), 0);

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>returnviews.get(arg1);

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//判断是否由对象生成界面

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicbooleanisViewFromObject(View arg0, Object arg1) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>return(arg0 == arg1);

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicvoidrestoreState(Parcelable arg0, ClassLoader arg1) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicParcelable saveState() {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>returnnull;

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>@Override

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>publicvoidstartUpdate(View arg0) {

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//TODOAuto-generated method stub

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>}

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr>}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值