Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android開發入門(八)使用活動欄 8.3 自定義ActionBar

Android開發入門(八)使用活動欄 8.3 自定義ActionBar

編輯: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將 不會再顯示出來。

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