歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android界面設計之:使用水平視圖切換

在本文中,將介紹如何使用Android中提供的兼容包Android compatibility package編寫一個橫向水平分頁功能的小應用。Android compatibility package為Android在2011年初發布的一個功能兼容包,該兼容開發包主要包含了Android最新平台上的最酷的特性,這樣的話,當開發者在為舊版本的Android設備開發程序的時候,就可以使用這個兼容開發包來使用最新的Android特性,而不用自己重新開發, 從而減輕了開發者的開發任務。

  在兼容包中,提供了viewPager組件,可以很方便地開發水平view切換的功能。而水平視圖切換的功能,可以方便地讓用戶通過手指從右向左滑動,就可以輕易切換不同的視圖。本文的讀者為對Android 開發有初步認識的開發者。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

  概述

  在Android compatibility package中,有一系列的類可以用來實現水平視圖的切換。其中的ViewPager控件(android.support.v4.view.ViewPager)提供了水平方向滑動切換視圖的功能,可以用在象圖庫等需要大量展示不同視圖的應用中。而PageAdapter(android.support.v4.view.PagerAdapter)類則是用來定義數據,這些數據將會顯示在ViewPager控件中。下面將會以一個簡單例子來講解如何使用該控件。本文的代碼可以在http://android-mt-tutorials.googlecode.com/svn/trunk/SimpleViewPager中下載。

  步驟一 建立Android項目工程

  先使用Eclipse,建立一個Android Project,應用名稱為SimpleViewPager,Activity的名稱為SimpleViewPagerActivity。選用的Android SDK版本為2.2或以上。

  步驟二 安裝Android compatibility package

  要使用Android compatibility 包,需要首先通過Android SDK Manager進行下載。目前其最新的版本為Android Compatibility package v4, Revision 3;,在通過Android SDK Manager下載安裝後,要為當前的Android項目增加其Android compatibility功能,我們可以通過在鼠標右鍵點擊已建立的項目,在彈出的菜單中,選擇“Android Tools”-à” AddCompatibility Library”即可。此時會在項目的庫文件中看到有android-support-v4.jar,表示已經成功在項目中增加了對應的文件。

  步驟三 定義ViewPager

  接下來,需要在界面布局中增加ViewPager控件。在我們的例子中,在main.xml的布局文件中,增加如下代碼,要注意的是ViewPager控件必須使用完整的全稱,即:android.support.v4.view.ViewPager。

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent">

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  android:id="@+id/myfivepanelpager"/>

  步驟四 創建不同的頁面文件

  在這個示例程序中,我們將展示5個不同的界面,每個界面都有不同的文字和圖片,當然讀者可以自行進行擴展。這5個不同的界面文件的名稱分別為:farleft.xml, left.xml,middle.xml, right.xml, 和 farright.xml,具體的代碼見附件,下面是5個文件的布局界面圖:


      要注意的是,在這些頁面文件中,不要忘記在每個頁面的imageview控件中,都要加上onclick事件,因為下文中的PageAdapter會在運行時調用這些頁面。

Copyright © Linux教程網 All Rights Reserved