ActionBar是個好用的類別

2013-04-10 04.07.53  

 

首先 如何加上主副標題呢?

 

final ActionBar actionBar = getActionBar();
		actionBar.setTitle("Title");//主標題
        actionBar.setSubtitle("SubTitle");//副標題
        //actionBar.setIcon(getResources().getDrawable(R.drawable.menu_back));//API14才有 Android4.0

 

 

 那再來如何在ActionBar上添加菜單(Menu呢)

 

首先先在專案下的res/menu中加上項目

範例:我加上一個 更新(有圖案就沒字) 及 設定 的item

android:showAsAction = "always" 的意思就是永遠顯示在ActionBar上

android:showAsAction="ifRoom|withText" 這個屬性,ifRoom的意思就是說只要ActionBar上有空間,就把item顯示出來,否则就放在後面。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_refresh"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:icon="@drawable/ic_action_search"
        android:title="Refresh"/>
    <item
        android:id="@+id/action_settings"
        android:title="Settings"
        android:showAsAction="always"
    </item>

</menu>

 然後在程式中建立菜單

@Override
  public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
    return true;
  } 

再來就是菜單的子項目被按到的時候要觸發的事件了

@Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menuitem1:
      Toast.makeText(this, "Menu Item 1 selected", Toast.LENGTH_SHORT)
          .show();
      break;
    case R.id.menuitem2:
      Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT)
          .show();
      break;

    default:
      break;
    }

    return true;
  } 

 

 

 

 參考

 


文章標籤
創作者介紹

Mazs's Notes

cookiesp 發表在 痞客邦 PIXNET 留言(0) 人氣()