標籤:android style blog http io color ar 使用 sp
2014-10-28 張雲飛VIR 翻譯自:https://developer.android.com/training/basics/actionbar/index.html
添加活動欄(Adding the Action Bar)
譯者註:我找不到更好的詞彙翻譯action bar,雖然我也認為 活動欄 不是個好的翻譯,但總要有個中文名字。不過為了方便識別,本文仍繼續使用英文的actionbar
活動欄action bar 是非常重要的設計項目之一,你可以為你的app中的activity來實現它。它提供了數個使用者介面特性,這些特性使得你的app立即讓使用者覺得親和,它再不同的安卓app中提供了一致性。關鍵功能包括:
- 為你的app提供標識的一個專用的地區 ,並且在app中指示使用者的當前位置。
- 以一種可預言的方式訪問重要的活動(比如搜尋)
- 支援導航和視圖切換(通過標籤或者下拉式清單實現)
這節訓練課程提供了一個關於action bar 基礎的快速指南。關於actionbar 的各種特性的更多資訊,請參閱 Action Bar 指南。
課程
設定action bar
學習如何添加一個基礎的action bar到你的activity,不論你的app僅僅支援安卓3.0及其以上 或者也支援和安卓2.1一樣的版本(通過使用安卓支援庫 Android Support Library)
添加活動按鈕
學習如何再action bar上 添加並且對使用者活動作出響應。
樣式化你的action bar
學習如何自訂你的action bar的呈現樣子
覆蓋action bar
學習如何如何再你的布局前面覆蓋action bar,允許當你隱藏action bar時可以無縫轉換。
------------------------------------------------
2014-10-28 張雲飛 翻譯自:https://developer.android.com/training/basics/actionbar/setting-up.html
設定action bar
在它的大多數基本形式中,action bar 為activity顯示一個標題和再左側顯示一個app表徵圖。即使是這個簡單的形式,action bar 對於所有的activity來說仍然是有用的,它告知了使用者他們在哪裡,和為app維持一個一致的標識。
表1. 一個具有app表徵圖和activity標題的簡單action bar.
設定一個基本的action bar 需要你的app使用一個啟用了action bar 的 主題。如何去請求一個這樣的主題,取決於 你的app的最低支援版本。那麼這節課按照你的最低支援的安卓版本來分成兩個章節。
僅支援安卓3.0以上
從安卓3.0(API層級11),action bar被包含在所有使用了Theme.Holo主題(或者它的後代繼承者之一)的activity內,當 targetSdkVersion
或者 minSdkVersion 屬性被設定為
"11"
以及更大的時候,它將是預設的樣式。
那麼,添加action bar 到你的activity,很簡單的設定這個屬性為11或者更高。比如下面這樣:
<manifest ... > <uses-sdk android:minSdkVersion="11" ... /> ...</manifest>
注意: 如果你建立了一個自訂的主題,確保它使用了 一個Theme.Holo主題來作為它的父主題。更多詳細,請閱讀 Styling the Action Bar.
現在Theme.Holo主題被應用到你的應用,並且所有的activity都展示了action bar。就是這樣。
支援安卓2.1以上
當運行在比安卓3.0更早期的版本時(向下直到2.1版本),要添加action bar,需要在你的應用程式裡包含安卓支援庫(Android Support Library)。
在開始,閱讀 Support Library Setup 文檔,並設定 v7 appcompat 庫(一旦你下載了庫的包,跟隨 使用資源添加庫 Adding libraries with resources 的說明)。
一旦你在你的app項目中整合了安卓支援庫Support Library。
1. 更新你的activity讓它繼承自 ActionBarActivity
. 比如:
public class MainActivity extends ActionBarActivity { ... }
2. 在你的 資訊清單檔manifest中, 更新 <application>
元素或者 單獨的 <activity>
元素 使用一個 Theme.AppCompat
主題,比如:
<activity android:theme="@style/Theme.AppCompat.Light" ... >
注意: 如果你建立了一個自訂的主題,確保它使用了 一個Theme.Holo主題來作為它的父主題。更多詳細,請閱讀 Styling the Action Bar.
現在你的activity包含了actionbar,當它運行在安卓2.1(API 層級7)或者更高。
記住在資訊清單檔manifest中,適當設定你的 app支援的API層級:
<manifest ... > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" /> ...</manifest>
下一課:添加action按鈕。NEXT: ADDING ACTION BUTTONS
----------------------------------------------------------
2014-10-29 張雲飛 翻譯自: https://developer.android.com/training/basics/actionbar/adding-buttons.html
添加Action按鈕 (Adding Action Buttons)
action bar 允許你為 關聯到app的當前內容相關的那些 活動項(action items)添加按鈕。大家已知的action按鈕 指的是 那些 直接在action bar中顯示一個表徵圖 和/或 文字活動,那些不能填充 在actionbar的 或者 不夠重要的 被隱藏在action的溢出部分
(譯者註:我們能看到的表徵圖的或者文字的就是按鈕action button了,不可見就是隱藏的擴充按鈕action overflow)
圖一. 一個action bar包含了一個用於搜尋的action按鈕和action溢出部分,它展示了擴充按鈕。
在XML中指定活動(Specify the Actions in XML)
所有的action按鈕 和其他在擴充按鈕中的可用的項(action overflow)都被定義在一個XML 菜單資源 menu resource.中。為了在action bar中添加 action,在你的項目的 res/menu/
檔案夾下 建立一個XML檔案。
為你想要包含在action中的每一項,添加<item>元素,比如:
res/menu/main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="ifRoom" /> <!-- Settings, should always be in the overflow --> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:showAsAction="never" /></menu>
未完待續...
Android中文翻譯 - Adding the Action Bar 添加活動欄(action bar)