Android:啟動引導(dǎo)頁實現(xiàn)
前言
本文引用地址:http://butianyuan.cn/article/201609/304562.htm基本上現(xiàn)在所有的應(yīng)用都會有一個歡迎界面,在歡迎界面對應(yīng)用做一個整體的介紹,然后在跳入到主界面,這次要說的這個引導(dǎo)頁就是帶翻頁的引導(dǎo)頁。效果如下所示
概要實現(xiàn)
主要分為兩部分功能,一個是翻頁效果,一個是頁面位置指示器。為了實現(xiàn)翻頁效果我采用系統(tǒng)自帶的ViewPager對象來實現(xiàn);頁面指示器則通過一個LinearLayout在其中放置相應(yīng)個數(shù)的圖片,然后根據(jù)頁面的滑動動態(tài)修改各個圖片的資源。布局文件如下所示
復(fù)制代碼
1
2 xmlns:tools=http://schemas.android.com/tools
3 android:layout_width=match_parent
4 android:layout_height=match_parent
5 tools:context=.MainActivity >
6
7
8 xmlns:android=http://schemas.android.com/apk/res/android
9 android:id=@+id/welcome_pager
10 android:layout_width=match_parent
11 android:layout_height=match_parent />
12
13
14
15 android:id=@+id/director
16 android:layout_width=match_parent
17 android:layout_height=wrap_content
18 android:gravity=center_horizontal
19 android:orientation=horizontal
20 android:layout_marginBottom=15dip
21 android:layout_alignParentBottom=true
22 >
23
24
25 android:layout_width=wrap_content
26 android:layout_height=wrap_content
27 android:background=@drawable/pageindicator_on />
28
29
30 android:layout_width=wrap_content
31 android:layout_height=wrap_content
32 android:background=@drawable/pageindicator_off />
33
34
35 android:layout_width=wrap_content
36 android:layout_height=wrap_content
37 android:background=@drawable/pageindicator_off />
38
39
40 android:layout_width=wrap_content
41 android:layout_height=wrap_content
42 android:background=@drawable/pageindicator_off />
43
44
45
復(fù)制代碼
ViewPager
先來看下官方解釋:Layout manager that allows the user to flip left and right through pages of data.意思是說,Viewpage是一個允許用戶在多個頁面數(shù)據(jù)之間通過左滑或者右滑的方式切換頁面數(shù)據(jù)的布局管理器。
主要功能點有兩部分,數(shù)據(jù)適配器Adapter,和事件監(jiān)聽器OnPageChangeListener。數(shù)據(jù)適配器用來管理這個ViewPager對象的顯示內(nèi)容,而OnPageChangeListener用來處理當(dāng)頁面切換的時候的行為動作,我修改頁面指示器就是通過這個事件來完成的。
適配器
復(fù)制代碼
1 class pagerAdapter extends FragmentPagerAdapter{
2
3 public pagerAdapter(FragmentManager fm) {
4 super(fm);
5 }
6
7 @Override
8 public Fragment getItem(int arg0) {
9 //得到要顯示的對象并初始化圖片
10 WelcomeFragment fm = new WelcomeFragment();
11 fm.setImg(imgs.get(arg0));
12
13 return fm;
14 }
15
16 @Override
17 public int getCount() {
18 return imgs.size();
19 }
20
21 }
復(fù)制代碼
上面這段就是ViewPager要用的適配器了,其中imgs是一個id數(shù)組,存放了要在歡迎界面展示的圖片的id,WelcomeFragment是一個Fragment類,用來展示頁面內(nèi)容,這兩個代碼會在完整代碼中體現(xiàn)。兩個方法需要實現(xiàn),getCout,用來表示有多少個頁面;getItem,用來獲取指定位置的Pager對象。
imgs數(shù)組定義及實現(xiàn):
復(fù)制代碼
1 List
2 //初始化歡迎界面圖片數(shù)組
3 imgs = new ArrayList
4 imgs.add(R.drawable.help1);
5 imgs.add(R.drawable.help2);
6 imgs.add(R.drawable.help3);
7 imgs.add(R.drawable.help4);
復(fù)制代碼
WelcomeFragment類定義
復(fù)制代碼
1 public class WelcomeFragment extends Fragment {
2
3 View view = null;
4 int imgId ;
5 @Override
6 public View onCreateView(LayoutInflater inflater, ViewGroup container,
7 Bundle savedInstanceState) {
8 view = inflater.inflate(R.layout.welcome_fragment, null);
9
10 ImageView fragmentVw = (ImageView) view.findViewById(R.id.welcome_Img);
11 fragmentVw.setBackgroundResource(imgId);
12 return view;
13 }
14
15 /**
16 * 為該Fragment設(shè)置顯示圖片
17 * */
18 public void setImg(int imgID){
19
20 imgId = imgID;
21 }
22 }
復(fù)制代碼
WelcomeFragment布局文件
復(fù)制代碼
1
評論