现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了。
先看下效果图:
首先需要一个布局文件,是FlameLayout组成的,里面包含了一个ViewPager和一个RelativeLayout,RelativeLayout里面是一个LinearLayout,LinearLayout里面是准备放ImageView,动态添加。
布局文件如下:
另外我们需要4个布局文件,就是向导要显示的图片,每个布局文件是一页,每个布局文件里面都是一个ImageView。如下所示:
布局文件一:
1 26 7 "11 12
1 26 7 11 12
布局文件三:
1 26 7 "11 12
布局文件四:
1 26 7 "11 12
然后在代码里面加载这4个布局文件和主布局文件:
Activity代码:
1 package com.alex.helloworld; 2 3 import java.util.ArrayList; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.os.Parcelable; 8 import android.support.v4.view.PagerAdapter; 9 import android.support.v4.view.ViewPager; 10 import android.support.v4.view.ViewPager.OnPageChangeListener; 11 import android.view.LayoutInflater; 12 import android.view.View; 13 import android.view.ViewGroup.LayoutParams; 14 import android.view.Window; 15 import android.widget.FrameLayout; 16 import android.widget.ImageView; 17 import android.widget.LinearLayout; 18 19 public class HelloWord2 extends Activity implements OnPageChangeListener { 20 21 private ArrayListmPageViews; 22 private LayoutInflater mInflater; 23 private LinearLayout mGroups; 24 private FrameLayout mMain; 25 private ViewPager mViewPager; 26 private ImageView[] mImageViews; 27 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 requestWindowFeature(Window.FEATURE_NO_TITLE); 32 mInflater = LayoutInflater.from(this); 33 mPageViews = new ArrayList (); 34 mPageViews.add(mInflater.inflate(R.layout.item_0, null)); 35 mPageViews.add(mInflater.inflate(R.layout.item_1, null)); 36 mPageViews.add(mInflater.inflate(R.layout.item_2, null)); 37 mPageViews.add(mInflater.inflate(R.layout.item_3, null)); 38 39 mMain = (FrameLayout) mInflater.inflate(R.layout.hello2, null); 40 mGroups = (LinearLayout) mMain.findViewById(R.id.viewGroup); 41 mViewPager = (ViewPager) mMain.findViewById(R.id.guidePages); 42 mImageViews = new ImageView[mPageViews.size()]; 43 44 for(int i=0; i
首先从LayoutInflater里面加载4个要显示的布局和主布局文件。
然后把布局文件作为View放到一个ArrayList里面。
然后从主布局里面找到ViewPager和LinearLayout,ViewPager用来装载4个布局文件,LinearLayout用来装载4个提示图标。
然后新建4个ImageView,并设置对应的背景,然后作为View添加到LinearLayout里面去。
然后给ViewPager设置Adapter,设置onPageChangeListener。
Adapter里面要设置getCount,就是页面的个数,我们这里是4个,就设置4;
同时在instantiateItem里面讲对应的页面add进去,并返回对应的页面。
在destroyItem的时候讲页面remove掉。
在选择页面的方法里面onPageSelected里面设置选中图标的背景。
就这些。
下载源代码: