Android Menu showAsAction屬性

1. 簡要

建立的Menu資源放置:app/src/main/res/menu

Menu的showAsAction屬性:可以控制Menu顯示的樣式

2. Menu的showAsAction屬性介紹

showAsAction模式方為下列幾種:

  1. ifRoom
  2. always
  3. withText
  4. collapseActionView
  5. never

ifRoom:根據屏幕自行去適應,應顯示的Icon數量,多餘的會隱藏在…裡面

always:不管屏幕寬,直接顯示在應用欄位上面,不隱藏

withText:一般會搭配ifRoom,app:showAsAction="withText|ifRoom"

由系統判定,能否icon與title一起顯示,部分手機在直向時,只會顯示icon,橫向才會顯示icon+title

collapseActionView:由 android:actionLayout 或 android:actionViewClass搭配時使用,可收起來

never:不管屏幕寬,直接隱藏在…裡面

這裡舉例一個collapseActionView的用法

新增以下menu,未使用collapseActionView

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/backButton"
        android:title="test1"/>
    <item android:id="@+id/searchButton"
        app:actionViewClass="android.widget.SearchView"
        android:icon="@drawable/ic_baseline_search_24"
        android:title="search"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/backButton2"
        android:icon="@drawable/ic_baseline_fast_forward_24"
        android:title="test2"/>
    <item android:id="@+id/backButton3"
        android:title="test3"
        android:icon="@drawable/ic_baseline_create_24"
        app:showAsAction="withText|ifRoom"/>
    <item android:id="@+id/backButton4"
        android:title="test4"/>
    <item android:id="@+id/backButton5"
        android:icon="@drawable/ic_baseline_home_24"
        android:title="test5"/>
</menu>
點擊searchButton後,顯示的樣子

新增以下menu,使用collapseActionView

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/backButton"
android:title="test1"/>
<item android:id="@+id/backButton1"
app:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_baseline_search_24"
android:title="search"
app:showAsAction="ifRoom|collapseActionView" />
<item android:id="@+id/backButton2"
android:icon="@drawable/ic_baseline_fast_forward_24"
android:title="test2"/>
<item android:id="@+id/backButton3"
android:title="test3"
android:icon="@drawable/ic_baseline_create_24"
app:showAsAction="withText|ifRoom"/>
<item android:id="@+id/backButton4"
android:title="test4"/>
<item android:id="@+id/backButton5"
android:icon="@drawable/ic_baseline_home_24"
android:title="test5"/>
</menu>
點擊searchButton後,顯示的樣子

相關文章

Android ActionBar與ToolbarAndroid Activity、Fragment應用欄(AppBar)使用
簡要
1. 如何將預設ActionBar關閉,改用Toolbar呢?
2. Toolbar Title如何置中呢?
3. 為Toolbar設定Menu
簡要
1. Activity擁有應用欄
2. Fragment擁有應用欄
3. 動態修改Menu是否顯示
4. Menu點擊事件處理

訂閱Codeilin的旅程,若有最新消息會通知。

廣告

對「Android Menu showAsAction屬性」的一則回應

Add yours

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

WordPress.com.

向上 ↑

%d 位部落客按了讚: