編輯:關於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:
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);
}
}
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;
}
}
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);
}
}
點擊下載源碼
Android源碼適配器模式-Activity類結構
其實適配器模式在Android源碼中非常多,而從整體的源碼角度上來看Activity的結構就是一種適配器模式。從這個角度上面看Activity,對Activity和應用層
Android實現圖片輪播切換實例代碼
利用Android的ViewFlipper和AnimationUtils實現圖片帶有動畫的輪播切換,其中當點擊“上一張”圖片時,切換到上一張圖片;當點擊“下一張”圖片時,
Android清除工程中無用資源文件的兩種方法
一、調用Android lint命令查找出沒有用到的資源,並生成一個清單列表:命令:lint –check “UnusedResources” [project_path
Android的生命周期
Activity的生命周期圖2 Android生命周期中涉及到的幾個過程 1.啟動Activity:系統會先調用onCreate方法,然後調用onStart方法,最後