Action Bar
文章參考:Android官方培訓課程中文版
Action Bar是我們可以為activity實現的最重要的設計元素之一。其提供了多種 UI 特性,可以讓我們的 app 與其他 Android app 保持較高的一致性,從而為用戶所熟悉。核心的功能包括:
- 一個專門的空間用來顯示你的app的標識,以及指出目前所處在app的哪個頁面。
- 以一種可預見的方式訪問重要的操作(比如搜索)。
- 支持導航和視圖切換(通過Tabs和下拉列表)
總結一下:Action bar就是替換3.0以前的tittle bar和menu。
添加Action Bar
最基本的Action Bar:僅僅包含一個 app icon 和 Activity 標題
從Android 3.0(API lever11)開始,Action bar被包含在所有的使用Theme.Hole主題的Activity(或者是這些Activity的子類)中,當 targetSdkVersion 或 minSdkVersion 屬性被設置成 “11” 或更大時,它是默認主題。
所以,要添加action bar,只需簡單地設置屬性為11或者更大,例如
<manifest ... > <uses-sdk android:minSdkVersion="11" /> ... </manifest> 或者: <manifest ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" /> ... </manifest>
註意:當為自定義主題時,要讓自定義的主題繼承Theme.Holo
當為android 3.0以下時(Android 2.1以上),要使用Action Bar,需要加載Android Support庫。
刪除Action Bar
如果不想要Action Bat,只需把Activity的主題設置為Theme.Holo.NoActionBar即可:
<activity android:theme="@android:style/Theme.Holo.NoActionBar">
或者:
ActionBar actionBar = getActionBar(); actionBar.hide();
添加操作項
如果我們想在Action Bar中添加比較重要的操作項,如:增加搜素按鈕。以及安排不下或者不重要操作被隱藏在action overflow中。
在XML中添加:
所有操作按鈕和action overflow我們都在menu資源的XML文件中定義。通過在項目的 res/menu
目錄中新增一個 XML 文件來為 action bar 添加操作。
如果res目錄下沒有menu,之間新建一個文件夾命名為menu即可。想要為action bar新增一個操作項,就是添加一個<item>元素。例如:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_search" android:icon="@mipmap/ic_search_light" android:title="@string/action_item1" android:showAsAction="ifRoom" /> <item android:id="@+id/action_item2" android:title="@string/action_item2" /> <item android:id="@+id/action_item3" android:title="@string/action_item3" /> </menu>
android:showAsAction="ifRoom" 表示當action bar有可用空間時,該操作作為一個一個操作按鈕來顯示;當值為never(默認)時,操作將一直只在 action overflow 中顯示
Action Bar