簡體   English   中英

將頂部操作添加到底部導航活動應用程序?

[英]Adding top actions to bottom navigation activity app?

我想在某些選項卡中向我的應用程序的頂部欄添加操作。

我從底部導航活動模板開始。 這是正在運行的模板應用程序的屏幕截圖,其中我希望將按鈕圈起來。 應用模板

在我的應用程序中,最后一個選項卡是帳戶。 我想在應用程序標題欄的右側添加一個按鈕,但僅限於帳戶啟動時。 (其他片段可能有不同的按鈕,但大多數沒有。)

在我的 Account 片段的onCreateView ,我嘗試訪問activity?.actionBar但它為空。 我還嘗試向 XML 添加一個工具欄,但這只是添加了第二個欄。 而且,當然,我查看了Add 和 handle actions ,但是我的應用程序中存在兩個條形讓我很難弄清楚它在問我什么。

如何在此處添加項目? 我更喜歡用 XML 來做,但如果必須的話,我會以編程方式來做。

正如@ianhanniballake 指出的,有一些特定於 Fragments 和 App Bars 的文檔:使用 AppBar

我不想把鏈接放在這里,所以這是我的閱讀方式(如果我有任何錯誤,請發表評論,我會更正):

  1. 在 res/menu 中創建一個新的菜單資源。 是的,如果您已經為底部菜單設置了另一個。 (這是我在任何地方都找不到記錄的內容:您不會添加到現有菜單中,而是創建一個新菜單。)我調用了我的account_menu
  2. 在 Fragment 的onCreate()調用setHasOptionsMenu(true) onCreate()
  3. 在您的 Fragment 中實現onCreateOptionsMenu
  4. 處理對 Fragment 中菜單項的點擊。

您添加到片段中的代碼如下所示:

    override fun onCreate(savedInstanceState: Bundle?) {
        setHasOptionsMenu(true)
        super.onCreate(savedInstanceState)
    }

    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
        inflater.inflate(R.menu.account_menu, menu);
        super.onCreateOptionsMenu(menu, inflater)
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        return when (item.itemId) {
            R.id.action_settings -> {
                // navigate to settings screen
                true
            }
            else -> super.onOptionsItemSelected(item)
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM