今天寫了個示例代碼,就是使用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