当前位置: 首页 > 知识库问答 >
问题:

BottomNavigationView在我的应用程序(Android studio Java)中隐藏屏幕底部的部分

白飞飙
2023-03-14

BottomNavigationView隐藏屏幕后面视图的某些部分。

如何在页脚上方显示视图(BottomNavigationView)

我已经编辑了下面的内容并更新了mainactivity.xml文件

另外,我添加了另一个xml的xml文件,如下所示

我的xml之一

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    android:id="@+id/refresh_layout"
    android:layout_width="match_parent"
    app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
    android:layout_height="match_parent"

    android:background="@color/colorPrimary"
    tools:ignore="NotSibling,RtlHardcoded">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@null">
/>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

mainactivity.xml

    <androidx.drawerlayout.widget.DrawerLayout
        android:id="@+id/root_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:background="@null"
        tools:ignore="NotSibling,UnknownId">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@null">

            <FrameLayout
                android:id="@+id/fragment_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@null"
                android:paddingBottom="?attr/actionBarSize"
                android:paddingTop="?attr/actionBarSize"/>

          
            <View
                android:id="@+id/divider_toolbar"
                android:layout_width="match_parent"
                android:layout_height="@dimen/stroke"
                android:layout_marginTop="?attr/actionBarSize"
                android:background="@color/colorPrimary"/>
            <FrameLayout
                android:id="@+id/footer_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                >
                <com.google.android.material.bottomnavigation.BottomNavigationView
                    android:layout_gravity="bottom"
                    android:background="@drawable/curved_shape_footer"
                    android:id="@+id/bottom_navigation"
                    android:layout_width="match_parent"
                    app:itemBackground="?selectableItemBackgroundBorderless"
                    app:itemHorizontalTranslationEnabled="false"
                    app:menu="@menu/bottom_navigation"
                    app:labelVisibilityMode="unlabeled"
                    android:layout_alignParentBottom="true"
                    android:layout_height="wrap_content"/>
            </FrameLayout>
</...>
</...>
</...>

共有1个答案

乌修筠
2023-03-14

使用约束布局并将约束设置为顶部根视图app:layout_constraintbottom_totopof=“@id/bottomnavigationview”

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    android:id="@+id/refresh_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"      
    android:background="@color/colorPrimary"
    tools:ignore="NotSibling,RtlHardcoded"
     app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintBottom_toTopOf="@id/bottom_navigation">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@null">

</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        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>
 类似资料:
  • 我试图创建一个单一活动的Android应用程序。我有带有BottomNavigationView的MainActivity (only activity),三个顶级片段和一些子片段。我的要求是,每当屏幕显示顶级片段,底部导航应该是可见的,这样切换是可能的。但是当我查看任何子片段时,底部导航应该是隐藏的。是否有任何现成的方式使用导航组件或需要手动更改可见性?

  • 我正在创建一个带有底部导航和抽屉的简单应用程序。 我将所有屏幕包装在带有顶部栏和底部栏的脚手架中。我想在特定屏幕上隐藏顶部栏和底部栏。有人知道如何实现吗 以下是设置导航的代码。 包含用于导航到屏幕

  • 我想在屏幕上隐藏应用程序,但不在任务栏上,我尝试了以下方法: 但这不管用,知道吗?

  • 我使用了“arFragment.getArSceneView.getScene().setOnUpdateListener”。每当我实现我自己的“setOnUpdateListener”时,我都能够显示我的菜单,但这个加载图像不会隐藏。此图像仅在我未实现updateListener时自动隐藏。这是活动_main的片段。来自MainActivity的xml和侦听器。JAVA

  • 我的应用程序有问题。我有一个底部导航视图,包含3个不同的片段,尽管目前只有主要的内容。当我试图从左侧的两个片段中的一个移动到主视图时,问题就出现了,即当底部导航视图被隐藏时。我附上了主代码。 PD:我有25.3.1版本的所有库(如果有用的话)。 感谢您的关注。 activity\u main。xml 主要活动。Java语言 我也给你添加了两张图片。 Ofertas片段 主片段

  • 我正在尝试创建一个底部有隐藏按钮的项目列表。默认情况下,按钮在屏幕上不可见。 如果用户滚动到列表底部,则该按钮应显示为列表的最后一项。 我创作了插图来更好地形象化期望的行为: 草图1:包含几个项目的列表 草图2:有很多项目的列表 我已经尝试了类似问题的解决方案(https://stackoverflow.com/a/69196765/11720296),并添加了额外的偏移量,但不幸的是它不起作用。