【问题标题】:How to add a button to a BottomNavigationView如何将按钮添加到底部导航视图
【发布时间】:2021-01-25 01:49:49
【问题描述】:

我想知道如何将按钮添加到 BottomNavigationView,我将它包含在 BottomNavigationView 中。但这是一种解决方法。我想知道如何正确操作?

如果有人知道怎么做,我希望在 BottomNavigationView 的中间添加一个按钮,除了我这样做的方式,因为每次我更改菜单项时,按钮都会闪烁

xml(菜单):

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/app_home"
        android:enabled="true"
        android:icon="@drawable/home"
        android:title="@string/home"/>
    <item
        android:id="@+id/app_calendar"
        android:enabled="true"
        android:icon="@drawable/calendar"
        android:title="@string/calendar"

        />

    <item
        android:id="@+id/app_add"
        android:enabled="true"
        app:showAsAction="collapseActionView"
        android:icon="@drawable/badd"
        tools:ignore="MenuTitle" />

    <item
        android:id="@+id/app_graphics"
        android:icon="@drawable/graphics"
        android:enabled="true"
        android:title="@string/graphics"
        />
    <item
        android:id="@+id/app_engine"
        android:enabled="true"
        android:icon="@drawable/engine"
        android:title="@string/home"
        />
</menu>

解决方法

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:itemIconTint="@color/bnv_tab_item_foreground"
        app:itemTextColor="@color/bnv_tab_item_foreground"
        android:background="@color/colorFooter"
        app:layout_constraintBottom_toBottomOf="parent"
        app:menu="@menu/bottom_navigation_menu"
        tools:ignore="MissingConstraints" >

        <com.google.android.material.button.MaterialButton
            android:id="@+id/btnAdc"
            android:layout_width="76dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@menu/buttonadd"
            android:gravity="center"
            android:text="@string/add_btn"
            android:textSize="25sp"

            />
    </com.google.android.material.bottomnavigation.BottomNavigationView>

【问题讨论】:

    标签: android xml android-studio android-layout android-bottomnavigationview


    【解决方案1】:

    我使用了imageView,您可以根据需要更改为按钮

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:orientation="vertical">
    
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <ImageView
                android:id="@+id/imageView"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:elevation="2dp"
                android:src="@drawable/ic_usernew"
                app:layout_constraintBottom_toBottomOf="@+id/bot_nav_view"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent" />
    
            <com.google.android.material.bottomnavigation.BottomNavigationView
                android:id="@+id/bot_nav_view"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="0dp"
                android:layout_marginEnd="0dp"
                android:background="@color/white"
                app:elevation="0dp"
                app:itemIconSize="20dp"
                app:itemTextAppearanceActive="@style/BottomNavigationView.Active"
                app:itemTextAppearanceInactive="@style/BottomNavigationView"
                app:itemTextColor="@drawable/tab_icon_selector"
                app:labelVisibilityMode="labeled"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:menu="@menu/bottom_nav_menu" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    
    </LinearLayout>
    

    在bottom_nav_menu你可以这样写

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:id="@+id/nav_dashboard"
            android:icon="@drawable/ic_home"
            android:title="Home" />
        <item
            android:id="@+id/nav_team"
            android:icon="@drawable/ic_affiliate"
            android:title="Affiliate" />
        <item
            android:id="@+id/nav_main"
            android:title="" />
    
        <item
            android:id="@+id/nav_wallet"
            android:icon="@drawable/ic_user_myaccoun"
            android:title="My Account" />
        <item
            android:id="@+id/nav_more"
            android:icon="@drawable/ic_more"
            android:title="More" />
    
    </menu>
    

    希望这能回答你的问题。

    【讨论】:

      猜你喜欢
      • 2019-03-04
      • 1970-01-01
      • 2017-05-11
      • 2017-08-30
      • 1970-01-01
      • 2011-08-20
      • 2020-02-08
      • 1970-01-01
      • 2018-08-24
      相关资源
      最近更新 更多