Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android actionBar與Fragment結合使用Demo

Android actionBar與Fragment結合使用Demo

編輯:關於Android編程

本文介紹ActionBar與Fragment結合使用的一個實例,ActionBar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。

Action bar的主要用途是:

1. 提供一個用於識別應用程序的標示和用戶的位置的專用空間。

這個空間的左邊是應用的圖標或logo,以及Activity的標題。但是,如果是像當前選擇的標簽這樣的標識當前View對象的導航標簽,你可以選擇刪除Activity的標題。

2. 在不同的應用程序之間提供一致的導航和視覺體驗。

Action bar提供了用於Fragment間切換的內置導航標簽。它還提供了一個用於替換導航模式或優化當前視覺效果(如按照不同條件排序的列表)的下拉列表。

3. 突出Activity的關鍵操作(如“搜索”、“創建”、“共享”等),並且在可預見的方法內給用戶提供快捷的訪問。

實現效果圖:

\

源代碼:

\

布局文件:

activity_main:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+uMNNYWluQWN0aXZpdHm1xLK8vtbW0KOs0ru49kZyYWdtZW501bzB7MHLy/nT0LXEQWN0aXZpdHmyvL7Wv9W85KGjPC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;">
file.xml:



    


sys.xml:



    


main.xml:



    
    
    


strings.xml:




    FragmentDemo9_Menu
    Settings
    Hello world!
    系統管理
    文件管理
    產品管理


代碼文件:

MainActivity:

package com.fragmentdemo9_menu;

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

/**
 * ActionBar與Fragment結合使用的實例Demo
 * 
 */
public class MainActivity extends Activity {
	private FragmentManager manager;
	private FragmentTransaction transaction;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		manager = getFragmentManager();

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		transaction = manager.beginTransaction();
		switch (item.getItemId()) {
		/**
		 * 系統管理
		 */
		case R.id.sys:
			SysFragment sysFragment = new SysFragment();
			transaction.replace(R.id.main, sysFragment, "sysFragment");
			transaction.addToBackStack("sysFragment");
			Toast.makeText(this, "您點擊了系統管理", Toast.LENGTH_SHORT).show();
			break;
		/**
		 * 文件管理
		 */
		case R.id.file:
			FileFragment fileFragment = new FileFragment();
			transaction.replace(R.id.main, fileFragment, "fileFragment");
			transaction.addToBackStack("fileFragment");
			Toast.makeText(this, "您點擊了文件管理", Toast.LENGTH_SHORT).show();
			break;
		/**
		 * 產品管理
		 */
		case R.id.product:
			ProductFragment productFragment = new ProductFragment();
			transaction.replace(R.id.main, productFragment, "productFragment");
			transaction.addToBackStack("productFragment");
			Toast.makeText(this, "您點擊了產品管理", Toast.LENGTH_SHORT).show();
			break;
		}
		transaction.commit();
		return super.onOptionsItemSelected(item);
	}
}

SysFragment:

package com.fragmentdemo9_menu;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
 * 系統管理相關的Fragment
 *
 */
public class SysFragment extends Fragment {

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View view = inflater.inflate(R.layout.sys, null);
		return view;
	}
}
FileFragment:

package com.fragmentdemo9_menu;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
 * 文件管理相關的Fragment
 *
 */
public class FileFragment extends Fragment {
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View view = inflater.inflate(R.layout.file, null);
		return view;
	}
}


ProductFragment:

package com.fragmentdemo9_menu;

import java.util.ArrayList;

import android.app.ListFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
/**
 * 產品管理相關Fragment,展示的是一個List列表數據。
 *
 */
public class ProductFragment extends ListFragment {
	private ArrayAdapter adapter;
	private ArrayList list;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		list = new ArrayList();
		for (int i = 0; i < 30; i++) {
			list.add("rose" + i);
		}
		adapter = new ArrayAdapter(getActivity(),
				android.R.layout.simple_list_item_1, list);
		setListAdapter(adapter);
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		return super.onCreateView(inflater, container, savedInstanceState);
	}
}

源代碼下載:

點擊下載源碼


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved