今天寫了個示例代碼,就是使用Actionbar類實現頂部標簽切換功能。如下圖所示。
使用最新的adt工具,創建項目的時候都會帶一個Android-support-v7-appcompat的類庫項目,這個libproject中有我們要用的ActionBar,可以適配2.1的Android系統。
本文示例代碼下載
------------------------------------------分割線------------------------------------------
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2014年資料/8月/4日/Android之Actionbar頂部標簽的使用
下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割線------------------------------------------
Ubuntu 14.04 x64配置Android 4.4 kitkat編譯環境的方法 http://www.linuxidc.com/Linux/2014-05/101148.htm
Ubuntu 12.04搭建Android開發環境 http://www.linuxidc.com/Linux/2012-09/69961.htm
Ubuntu 14.04 配置 Android SDK 開發環境 http://www.linuxidc.com/Linux/2014-05/101039.htm
64位Ubuntu 11.10下Android開發環境的搭建(JDK+Eclipse+ADT+Android SDK詳細) http://www.linuxidc.com/Linux/2013-06/85303.htm
Ubuntu 12.10 x64 安裝 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm
廢話不多說,直接上代碼。
1、修改activity_main.xml,增加ViewPager。
<
android.support.v4.view.ViewPager
xmlns:android
=
"http://schemas.android.com/apk/res/android"
xmlns:tools
=
"http://schemas.android.com/tools"
android:id
=
"@+id/pager"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
/>
2、修改MainActivity中的代碼,讓其繼承ActionBarActivity
public class MainActivity extends ActionBarActivity implements TabListener {
3、創建TabsPagerAdapter繼承FragmentPagerAdapter
package
com.example.tabswithswie.adatper;
import
android.support.v4.app.Fragment;
import
android.support.v4.app.FragmentManager;
import
android.support.v4.app.FragmentPagerAdapter;
import
com.example.tabswithswie.fragments.AppFragment;
import
com.example.tabswithswie.fragments.GamesFragment;
import
com.example.tabswithswie.fragments.MoviesFragment;
public
class
TabsPagerAdapter
extends
FragmentPagerAdapter {
public
TabsPagerAdapter(FragmentManager fm) {
super
(fm);
// TODO Auto-generated constructor stub
}
@Override
public
Fragment getItem(
int
index) {
switch
(index) {
case
0
:
return
new
AppFragment();
case
1
:
return
new
GamesFragment();
case
2
:
return
new
MoviesFragment();
}
return
null
;
}
@Override
public
int
getCount() {
// TODO Auto-generated method stub
return
3
;
}
}
4、創建AppFragment繼承android.support.v4.app.Fragment
package
com.example.tabswithswie.fragments;
import
com.example.tabswithswie.R;
import
android.os.Bundle;
import
android.support.v4.app.Fragment;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
public
class
AppFragment
extends
Fragment {
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return
inflater.inflate(R.layout.fragment_app, container,
false
);
}
}
5、創建布局文件fragment_app.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:background
=
"#43ff00ff"
>
<
TextView
android:id
=
"@+id/textView1"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_centerInParent
=
"true"
android:text
=
"這個是應用界面"
android:textAppearance
=
"?android:attr/textAppearanceLarge"
/>
</
RelativeLayout
>
6、創建GamesFragment繼承android.support.v4.app.Fragment
package
com.example.tabswithswie.fragments;
import
com.example.tabswithswie.R;
import
android.os.Bundle;
import
android.support.v4.app.Fragment;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
public
class
GamesFragment
extends
Fragment {
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return
inflater.inflate(R.layout.fragment_game, container,
false
);
}
}
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-08/105108p2.htm