Android实现左右滑动的指引效果

来源:互联网 发布:flowchart 软件 编辑:程序博客网 时间:2024/04/29 21:32

在一般情况下,Android左右滑动的指引效果是指在应用第一次启动时,会显示一些帮助界面,用户可通过手指左右滑动来了解应用信息。当用户滑动到最后一页时,可通过点击进入游戏应用。如下图所示:


直接上代码,布局文件如下:

<1>activivty_guide_view_01.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_01_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_01_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_01_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_01_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_01_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_01"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_01_image"            android:src="@drawable/guide_view_01" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_01_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_01_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_01_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_01_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_01"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_01_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<2>activivty_guide_view_02.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_02_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_02_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_02_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_02_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_02_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_02"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_02_image"            android:src="@drawable/guide_view_02" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_02_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_02_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_02_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_02_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_02"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_01_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<3>activivty_guide_view_03.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_03_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_03_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_03_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_03_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_03_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_03"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_03_image"            android:src="@drawable/guide_view_03" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_03_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_03_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_03_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_03_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_03"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_02_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>
<4>activivty_guide_view_04.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_04_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_04_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_04_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_04_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_04_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_04"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_04_image"            android:src="@drawable/guide_view_04" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_04_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_04_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_04_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_04_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_04"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_02_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<5>activivty_guide_view_05.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_05_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_05_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_05_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_05_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_05_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_05"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_05_image"            android:src="@drawable/guide_view_05" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_05_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_05_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_05_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_05_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_05"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_02_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<6>activivty_guide_view_06.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_06_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_06_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_06_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_06_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_06_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_06"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_06_image"            android:src="@drawable/guide_view_06" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_06_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_06_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_06_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_06_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_06"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_03_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<7>activivty_guide_view_07.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:background="@color/textBgColor" >    <LinearLayout        android:id="@id/ll_guide_view_07_01"        android:layout_width="match_parent"        android:layout_height="20dp"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_07_02"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_07_01"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_07_03"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_07_02"        android:orientation="vertical" >        <ImageView            android:id="@id/iv_guide_view_07"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:contentDescription="@string/gudie_view_07_image"            android:src="@drawable/guide_view_07" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_07_04"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_07_03"        android:layout_margin="@dimen/activity_guide_view_margin"        android:background="@drawable/divider_horizontal_line"        android:orientation="vertical" />    <LinearLayout        android:id="@id/ll_guide_view_07_05"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_07_04"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_07"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="@dimen/activity_guide_view_margin"            android:paddingRight="@dimen/activity_guide_view_margin"            android:text="@string/guide_view_04_text"            android:textColor="@color/textColor"            android:textSize="14sp" />    </LinearLayout>    <LinearLayout        android:id="@id/ll_guide_view_07_06"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/ll_guide_view_07_05"        android:layout_marginTop="@dimen/activity_guide_view_margin"        android:gravity="center"        android:orientation="vertical" >        <Button            android:id="@id/btn_guide_view"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/custom_button"            android:onClick="enterGame"            android:text="@string/enter_game"            android:textColor="@color/textColor"            android:textSize="20sp" />    </LinearLayout></RelativeLayout>
<8>activity_guide_view_item_header.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:background="@drawable/guide_view_top_back_image"    android:orientation="horizontal" >    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_centerVertical="true"        android:layout_gravity="center_vertical"        android:layout_marginLeft="5dip"        android:gravity="center"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_exit"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/gudie_view_btn_back_bg"            android:clickable="true"            android:gravity="center"            android:paddingLeft="@dimen/activity_guide_view_item_header_margin"            android:text="@string/exit"            android:textColor="@color/itemHeaderTextColor"            android:textSize="14sp" />    </LinearLayout>    <TextView        android:id="@id/tv_guide_view_title"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:layout_centerVertical="true"        android:text="@string/app_name"        android:textColor="@color/itemHeaderTextColor"        android:textSize="16sp" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_centerVertical="true"        android:layout_gravity="center_vertical"        android:layout_marginRight="5dip"        android:gravity="center"        android:orientation="vertical" >        <TextView            android:id="@id/tv_guide_view_home"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/guide_view_btn_home_bg"            android:clickable="true"            android:gravity="center"            android:text="@string/home"            android:textColor="@color/itemHeaderTextColor"            android:textSize="14sp" />    </LinearLayout></RelativeLayout>

<9>activity_guide_view.xml

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical" >        <include            android:id="@+id/item_header"            layout="@layout/activity_guide_view_item_header" />        <android.support.v4.view.ViewPager            android:id="@id/vp_guide_view"            android:layout_width="match_parent"            android:layout_height="wrap_content" />    </LinearLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical" >        <RelativeLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:orientation="vertical" >            <LinearLayout                android:id="@id/ll_view_group"                android:layout_width="fill_parent"                android:layout_height="wrap_content"                android:layout_alignParentBottom="true"                android:layout_marginBottom="40dp"                android:gravity="center_horizontal"                android:orientation="horizontal" />        </RelativeLayout>    </LinearLayout></FrameLayout>

<10>GuideViewActivity.java

/** *  */package com.i114gbox.aglieguy;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.os.Parcelable;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.ImageView;import android.widget.TextView;import com.i114gbox.aglieguy.utils.CustomProgressDialogExitTaskUtils;import com.i114gbox.sdk.activity.I114gBoxActivity;import com.i114gbox.sdk.activity.dialog.I114gBoxProgressDialog;import com.i114gbox.sdk.config.I114gBoxConfig;import com.i114gbox.sdk.constant.I114gBoxConstant;import com.i114gbox.sdk.utils.I114gBoxCollectActivityUtils;import com.i114gbox.sdk.utils.I114gBoxLogUtils;import com.i114gbox.sdk.utils.I114gBoxResourceUtils;/** * 引导Activity *  * @author SJC *  */public class GuideViewActivity extends I114gBoxActivity implementsOnClickListener {private static String TAG = "GuideViewActivity";private Context ctx = null;private List<View> pageViews;private ImageView[] imageViews;private ImageView imageView;private ViewGroup main;private ViewGroup group;private ViewPager viewPager;private I114gBoxProgressDialog i114gBoxProgressDialog = null;private ViewGroup viewGroup;private int count;@Overrideprotected void onCreate(Bundle savedInstanceState) {I114gBoxLogUtils.d(TAG, "The onCreate method execute.");I114gBoxConfig.setDebugEnable(true);// 打开LOGsuper.onCreate(savedInstanceState);I114gBoxCollectActivityUtils.getInstance().addActivity(this);// 收集Activityctx = this;count = mBaseSettings.getInt(I114gBoxConstant.PREFERENCE_KEY_LAUNCH_COUNT, 0);I114gBoxLogUtils.i(TAG, "count:" + count);if (count != 0) {// 当应用并不是第一次启动时Intent intent = new Intent(ctx, MainActivity.class);ctx.startActivity(intent);overridePendingTransition(I114gBoxResourceUtils.getAnimId(ctx, "zoomin"),I114gBoxResourceUtils.getAnimId(ctx, "zoomout"));} else {// 当应用为第一次启动时count++;mBaseSettings.edit().putInt(I114gBoxConstant.PREFERENCE_KEY_LAUNCH_COUNT, count).commit();LayoutInflater layoutInflater = getLayoutInflater();pageViews = new ArrayList<View>();// 加载左右滑动指引效果的图片布局资源pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_01"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_02"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_03"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_04"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_05"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_06"), null));pageViews.add(layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activivty_guide_view_07"), null));imageViews = new ImageView[pageViews.size()];main = (ViewGroup) layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx, "activity_guide_view"), null);group = (ViewGroup) main.findViewById(I114gBoxResourceUtils.getId(ctx, "ll_view_group"));viewPager = (ViewPager) main.findViewById(I114gBoxResourceUtils.getId(ctx, "vp_guide_view"));for (int i = 0; i < pageViews.size(); i++) {imageView = new ImageView(ctx);imageView.setLayoutParams(new LayoutParams(20, 20));imageView.setPadding(20, 0, 20, 0);imageViews[i] = imageView;// 默认第一张图为显示状态if (i == 0) {imageViews[i].setBackgroundResource(I114gBoxResourceUtils.getDrawableId(ctx,"guide_view_page_indicator_focused"));} else {imageViews[i].setBackgroundResource(I114gBoxResourceUtils.getDrawableId(ctx, "guide_view_page_indicator"));}group.addView(imageViews[i]);}// 设置布局文件setContentView(main);// 设置引导界面适配器viewPager.setAdapter(new GuideViewPagerAdapter());// 设置引导界面监听器viewPager.setOnPageChangeListener(new GuideViewPageChangeListener());TextView guideExitTextView = (TextView) main.findViewById(I114gBoxResourceUtils.getId(ctx,"tv_guide_view_exit"));TextView guideHomeTextView = (TextView) main.findViewById(I114gBoxResourceUtils.getId(ctx,"tv_guide_view_home"));viewGroup = (ViewGroup) layoutInflater.inflate(I114gBoxResourceUtils.getLayoutId(ctx,"activivty_guide_view_07"), null);guideExitTextView.setOnClickListener(this);guideHomeTextView.setOnClickListener(this);}}/** * 引导界面适配器 *  * @author SJC *  */class GuideViewPagerAdapter extends PagerAdapter {/** 获取指引的数量 **/@Overridepublic int getCount() {return pageViews.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {I114gBoxLogUtils.d("GuideViewPagerAdapter","The isViewFromObject method execute.");return arg0 == arg1;}/** 获取指引的位置 **/@Overridepublic int getItemPosition(Object object) {I114gBoxLogUtils.d("GuideViewPagerAdapter","The getItemPosition method execute.");I114gBoxLogUtils.i("GuideViewPagerAdapter", "The item position:"+ super.getItemPosition(object));return super.getItemPosition(object);}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {I114gBoxLogUtils.d("GuideViewPagerAdapter","The destroyItem method execute.");I114gBoxLogUtils.i("GuideViewPagerAdapter", "position:" + position);container.removeView(pageViews.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) {I114gBoxLogUtils.d("GuideViewPagerAdapter","The instantiateItem method execute.");I114gBoxLogUtils.i("GuideViewPagerAdapter", "position:" + position);container.addView(pageViews.get(position));return pageViews.get(position);}@Overridepublic void restoreState(Parcelable state, ClassLoader loader) {I114gBoxLogUtils.d("GuideViewPagerAdapter","The restoreState method execute.");super.restoreState(state, loader);}@Overridepublic Parcelable saveState() {I114gBoxLogUtils.d("GuideViewPagerAdapter","The saveState method execute.");return super.saveState();}}/** * 引导界面监听器 *  * @author SJC *  */class GuideViewPageChangeListener implements OnPageChangeListener {@Overridepublic void onPageScrollStateChanged(int arg0) {I114gBoxLogUtils.d("GuideViewPageChangeListener","The onPageScrollStateChanged method execute.");I114gBoxLogUtils.i(TAG, "arg0:" + arg0);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {I114gBoxLogUtils.d("GuideViewPageChangeListener","The onPageScrolled method execute.");I114gBoxLogUtils.i("GuideViewPageChangeListener", "arg0:" + arg0+ "|" + "arg1:" + arg1 + "|" + "arg2:" + arg2);}@Overridepublic void onPageSelected(int arg0) {I114gBoxLogUtils.d("GuideViewPageChangeListener","The onPageSelected method execute.");I114gBoxLogUtils.i("GuideViewPageChangeListener", "arg0:" + arg0);for (int i = 0; i < imageViews.length; i++) {imageViews[arg0].setBackgroundResource(I114gBoxResourceUtils.getDrawableId(ctx,"guide_view_page_indicator_focused"));if (arg0 != i) {imageViews[i].setBackgroundResource(I114gBoxResourceUtils.getDrawableId(ctx, "guide_view_page_indicator"));}}}}@Overridepublic void onClick(View v) {if (v.getId() == I114gBoxResourceUtils.getId(ctx, "tv_guide_view_exit")) {CustomProgressDialogExitTaskUtils customProgressDialogAsyncTaskUtils = new CustomProgressDialogExitTaskUtils(ctx, i114gBoxProgressDialog);customProgressDialogAsyncTaskUtils.execute(2000);// 执行Task} else if (v.getId() == I114gBoxResourceUtils.getId(ctx,"tv_guide_view_home")) {Intent intent = new Intent(ctx, MainActivity.class);ctx.startActivity(intent);overridePendingTransition(I114gBoxResourceUtils.getAnimId(ctx, "zoomin"),I114gBoxResourceUtils.getAnimId(ctx, "zoomout"));}}@Overrideprotected void onDestroy() {I114gBoxLogUtils.d(TAG, "The onDestory method execute.");if (null != i114gBoxProgressDialog) {i114gBoxProgressDialog.dismiss();i114gBoxProgressDialog = null;}super.onDestroy();}/** 进入游戏 **/public void enterGame(View view) {I114gBoxLogUtils.d(TAG, "enter game");Intent intent = new Intent(viewGroup.getContext(), MainActivity.class);viewGroup.getContext().startActivity(intent);overridePendingTransition(I114gBoxResourceUtils.getAnimId(ctx, "zoomin"),I114gBoxResourceUtils.getAnimId(ctx, "zoomout"));}}

注意事项:

(1)当应用启动时,将启动数(初始为0)加1

(2)将启动数保存到SharedPreferences中,第一次启动游戏应用,则出现引导界面;随后启动游戏应用时,则直接进入游戏中

0 0
原创粉丝点击