簡體   English   中英

在底部導航活動的右上角添加按鈕

[英]Add button to top right in Bottom Navigation Activity

我使用底部導航活動模板在 Android Studio 中創建了一個應用程序。 已經有一個頂部欄,里面什么都沒有。 我想在頂部欄的右側放置一個按鈕(不是菜單,按鈕)。 我該怎么做呢?

在此處輸入圖像描述

最簡單的解決方案是在 go 前面創建一個菜單,但使其唯一的菜單項始終出現而不是在溢出菜單中。

首先創建一個菜單 xml 文件,將您的按鈕作為菜單項,並將其標記為始終顯示,這樣它就不會放在溢出菜單中。

<?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/action_settings"
        android:title="@string/settings"
        android:icon="@drawable/ic_settings_24dp"
        app:showAsAction="always" />

</menu>

如果您切換到將 App Bar 直接放在布局中(請參見此處和此處),並且您的按鈕對您的整個活動是全局的(不僅僅是特定片段),您可以在布局 xml 中使用app:menu 否則,您需要通過覆蓋 Activity 或 Fragment 中的onCreateOptionsMenu()來設置菜單:

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.top_bar_menu, menu)
        return true
    }

要響應菜單中的按鈕按下,您需要覆蓋onOptionsItemSelected()

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

如果您想從 Fragment 執行此操作,請在 Fragment 的 onViewCreated() 中調用setHasOptionsMenu(true) onViewCreated()然后您可以在 Fragment 中覆蓋上述兩個相同的函數。

暫無
暫無

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

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