編輯:Android開發教程
在上一節中,菜單選項是沒有文字的。如果想要同時顯示圖標和文字,可以一起使用“|”和 MenuItem.SHOW_AS_ACTION_WITH_TEXT常量。
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); { mnu1.setIcon(R.drawable.ic_launcher); mnu1.setShowAsAction( MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); }
除了可以點擊Action項目,也可以點擊ActionBar上面的應用圖標。當應用圖標被點擊的 時候,會調用onOptionsItemSelected()方法。如果想識別應用圖標被點擊了,可以使用adnroid.R.id.home 常量。
private boolean MenuChoice(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Toast.makeText(this, "You clicked on the Application icon", Toast.LENGTH_LONG).show(); return true; case 0: Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG).show(); return true; case 1: ...... }
如果想讓應用圖標能被點擊,我們需要調用setDisplayHomeAsUpEnable()方法:
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); //actionBar.hide(); //actionBar.show(); //---show it again--- }
當點擊應用圖標:
一般情況下,一個應用可能包含很多activity,那麼應用的圖標通常被用來返回主Activity。如果想這麼做 ,就需要一個Intent對象,並使用Intent.FLAG_ACTIVITY_CLEAR_TOP標志。
case android.R.id.home: Toast.makeText(this, "You clicked on the Application icon", Toast.LENGTH_LONG).show(); Intent i = new Intent(this, MyActionBarActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true;
使用Intent.FLAG_ACTIVITY_CLEAR_TOP標識,可以確保當點擊應用圖標的時候, 在“返回棧”裡面的那些activity都會被清除掉。使用這種方法,如果用戶點擊返回鍵,其他的activity將 不會再顯示出來。
ActivityInstrumentationTestCase2 主要用來測試一個或多個Activity的功能測試,使用和最終應用同樣的運行環境來測試 Activity的
Save & Restore State與之前的例子Android ApiDemo示例解析(9):App->Activity->Persistent
使用Intent 啟動一個Activity,Service等時,可以通過putExtra 傳送數據 ,被觸發的Activity,Service可以使用getIntent(
1、在Android4.0環境下編譯的actionbarsherlock、slidingmenu類庫,能不能在4.0以下的版本中使用相信很多人跟我一樣,都以為在低版本(如