1. 程式人生 > >android官方教程學習01——ActionBar1

android官方教程學習01——ActionBar1

android中在ActionBar顯示選單項

在android3.0,也就是API11之後,android預設加入了actionbar的支援,通常使用actionbar有以下幾種方法

  • 使用android:style/Themes.Holo系列的主題,這樣的主題是預設帶有actionbar的
  • 使用AppCompat系列的主題

在向actionbar新增選單項是通過在android的menu的xml檔案裡面新增的
在新增的時候會涉及到三種方式的顯示方式
分別時always,ifroom,never,withText

  1. always 選單項會一直顯示在actionbar上
  2. ifroom會顯示可以放得下的圖示,放不下的就會摺疊,一般是兩個,其餘的隱藏
  3. never就是都隱藏了
  4. withText沒有成功過,據說是能顯示文字

程式碼示例:
首先在manifest裡面指定Theme

android:theme="@style/Theme.AppCompat.Light"

然後在activity的檔案裡最好也指定一下,接著寫menu的xml檔案

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/action1c_menu_search" android:title="@string/action_settings" android:orderInCategory="1" android:icon="@android:drawable/ic_menu_search" app:showAsAction="always|withText"
/> <item android:id="@+id/action2" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="2" app:showAsAction="withText" /> <item android:id="@+id/action3" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="3" app:showAsAction="ifRoom" /> <item android:id="@+id/action4" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="4" app:showAsAction="ifRoom" /> <item android:id="@+id/action5" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="5" app:showAsAction="ifRoom" /> <item android:id="@+id/action6" android:title="@string/action_settings" android:orderInCategory="6" android:icon="@android:drawable/ic_menu_search" app:showAsAction="ifRoom" /> <item android:id="@+id/action7" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="7" app:showAsAction="ifRoom" /> <item android:id="@+id/action8" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="8" app:showAsAction="ifRoom" /> <item android:id="@+id/action9" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="9" app:showAsAction="ifRoom" /> <item android:id="@+id/action10" android:icon="@mipmap/ic_launcher" android:title="search" android:orderInCategory="10" app:showAsAction="ifRoom" /> </menu>

上面的那個search圖示是自帶的資源圖示,就是一個放大鏡

之前遇到了一些問題

  1. ifRoom沒用,所有的選單項都隱藏了,這個是因為使用了holo的主題,使用了這個主題就會出現這樣的問題,還不知道是為什麼
  2. 設定了AppCompat不行,是因為沒有仔細看,有一個叫platform.v11.AppCompat的很像,但是這個是沒有actionbar的