► 若要使用在 Level11 以下, 有許多地方需要注意
Level 11以上 | 含Level 11以下 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
引入 V7 Library專案 | NC | 匯入V7專案(一般位於) android-sdk\extras\android\compatibility\v7\appcompat 供app引用 |
|||||||||||||||||||||
import |
|
|
|||||||||||||||||||||
AndroidManifest.xml | 必須加入 theme 參數如 android:theme="@style/Theme.AppCompat.Light" |
||||||||||||||||||||||
主頁 Extends Activity |
FragementActivity (有引用support library v4時,當然也可只用 activity) 或 Activity (和 ActionBarActivity下的code差異性會較多) |
|
|||||||||||||||||||||
menu.xml | <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_websearch" android:icon="@drawable/action_search" android:title="@string/action_websearch" android:showAsAction="ifRoom|withText" /> </menu> |
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/action_websearch" android:icon="@drawable/action_search" android:title="@string/action_websearch" app:showAsAction="ifRoom|withText" /> </menu> |
|||||||||||||||||||||
取得ActionBar | getActionBar(); | getSupportActionBar(); | |||||||||||||||||||||
呼叫invalidateOptionsMenu() | invalidateOptionsMenu() | android.support.v4.app.ActivityCompat ActivityCompat.invalidateOptionsMenu(MainActivity.this); |
• action bar 可呈現 icon 數
- smaller than 360 dp = 2 icons
- 360-499 dp = 3 icons
- 500-599 dp = 4 icons
- 600 dp and larger = 5 icons
若想讓小尺寸裝置可呈現較多action button , 則可在 AndroidManifest.xml 內加入 android:uiOptions="splitActionBarWhenNarrow" 此時較多的圖示會出現在 bottom bar 區內
<activity android:name=".MainActivity" android:uiOptions="splitActionBarWhenNarrow"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
► menu item showAsAction 參數
ifRoom:如果空間夠用,就顯示
never:永遠不顯示,隱藏在 overflow 裡
withText:顯示文字,可和 ifRoom並用
always:一定顯示
collapseActionView:折疊顯示
never:永遠不顯示,隱藏在 overflow 裡
withText:顯示文字,可和 ifRoom並用
always:一定顯示
collapseActionView:折疊顯示
► Action View SaerchView
|
含 Level 11 以下 menu item
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
|
|
Level 11 以上 menu item
|
► Action Share View
|
含 Level 11 以下 menu item <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/action_share" android:title="分享" app:showAsAction="ifRoom|collapseActionView" app:actionViewClass="android.support.v7.widget.ShareActionProvider" /> </menu> |
Level 11 以上 menu item
|
參考 Doc, 使用說明, 標準ActionBar Icon