Android 底部应用栏中出现意外的底部填充

问题描述 投票:0回答:1

问题

我目前正在开发一个Android应用程序,并且我已经使用Material Components库实现了一个底部应用程序栏。但是,当我运行该应用程序时,我注意到意外的底部填充影响了底部应用程序栏的布局。

我尝试了多种解决方案来解决此问题,但没有一个有效。以下是我的实施的相关细节:

XML 布局

下面是 XML 布局片段,我在其中定义了底部应用程序栏:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/main_color"
    tools:context=".MainActivity">

    <ScrollView

        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/bottomAppBar">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">


            <EditText
                android:id="@+id/editTextText2"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:ems="10"
                android:inputType="text"
                android:background="@drawable/edittext_background"
                android:drawableStart="@drawable/search"
                android:drawableEnd="@drawable/microphone"
                android:layout_margin="16dp"
                android:drawablePadding="10dp"
                android:padding="15dp"
                android:hint="Search for movies..."
                android:textColorHint="#CCCBCB"/>

            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="200dp">

                <androidx.viewpager2.widget.ViewPager2
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:paddingHorizontal="60dp"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
            </androidx.constraintlayout.widget.ConstraintLayout>


            <TextView
                android:id="@+id/textView10"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="24dp"
                android:layout_marginBottom="12dp"
                android:text="Category"
                android:textColor="@color/yellow"
                android:textSize="19sp"
                android:textStyle="bold" />

            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/view2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:clipToPadding="false"
                    android:paddingHorizontal="12dp"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <ProgressBar
                    android:id="@+id/progressBar2"
                    style="?android:attr/progressBarStyle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="@+id/view2"
                    app:layout_constraintStart_toStartOf="@+id/view2"
                    app:layout_constraintTop_toTopOf="@+id/view2" />
            </androidx.constraintlayout.widget.ConstraintLayout>

            <TextView
                android:id="@+id/textView11"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="24dp"
                android:layout_marginBottom="12dp"
                android:text="Upcomming Movies"
                android:textColor="@color/yellow"
                android:textSize="19sp"
                android:textStyle="bold" />

            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/view3"
                    android:layout_width="match_parent"
                    android:clipToPadding="false"
                    android:paddingHorizontal="12dp"
                    android:paddingBottom="70dp"
                    android:layout_height="0dp"
                    app:layout_constraintBottom_toTopOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <ProgressBar
                    android:id="@+id/progressBar3"
                    style="?android:attr/progressBarStyle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="@id/view3"
                    app:layout_constraintStart_toStartOf="@+id/view3"
                    app:layout_constraintTop_toTopOf="parent" />
            </androidx.constraintlayout.widget.ConstraintLayout>


        </LinearLayout>
    </ScrollView>

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent">

        <com.google.android.material.bottomappbar.BottomAppBar
            android:id="@+id/bottomAppBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:backgroundTint="@color/dark_blue">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.25"
                    android:orientation="vertical">


                    <ImageView
                        android:id="@+id/imageView3"
                        android:layout_width="24dp"
                        android:layout_height="24dp"
                        android:layout_gravity="center"
                        android:layout_margin="5dp"
                        android:src="@drawable/btn_1"
                        app:tint="@color/orange" />

                    <TextView
                        android:id="@+id/textView12"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Explorer"
                        android:textAlignment="center"
                        android:textColor="@color/white" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.25"
                    android:orientation="vertical">


                    <ImageView
                        android:id="@+id/imageView4"
                        android:layout_width="25dp"
                        android:layout_height="25dp"
                        android:layout_gravity="center"
                        android:layout_margin="5dp"
                        android:src="@drawable/btn_2"
                        app:tint="@color/orange"  />

                    <TextView
                        android:id="@+id/textView13"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Favorite"
                        android:textAlignment="center"
                        android:textColor="@color/white" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.25"
                    android:orientation="vertical">


                    <ImageView
                        android:id="@+id/imageView5"
                        android:layout_width="25dp"
                        android:layout_height="25dp"
                        android:layout_gravity="center"
                        android:layout_margin="5dp"
                        android:src="@drawable/btn_3"
                        app:tint="@color/orange"  />

                    <TextView
                        android:id="@+id/textView14"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Cart"
                        android:textAlignment="center"
                        android:textColor="@color/white" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="0.25"
                    android:orientation="vertical">


                    <ImageView
                        android:id="@+id/imageView6"
                        android:layout_width="25dp"
                        android:layout_height="25dp"
                        android:layout_gravity="center"
                        android:layout_margin="5dp"
                        android:src="@drawable/btn_4"
                        app:tint="@color/orange"  />

                    <TextView
                        android:id="@+id/textView15"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_conte
                        android:text="Profile"
                        android:textAlignment="center"
                        android:textColor="@color/white" />
                </LinearLayout>

            </LinearLayout>
        </com.google.android.material.bottomappbar.BottomAppBar>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

结果nt”

android xml kotlin bottomappbar
1个回答
0
投票

听起来 BottomAppBar 的底部填充问题可能与布局如何与导航栏或手势控件等系统元素交互有关。这是使用 BottomAppBar 组件时的常见问题。您可以尝试以下一些实用步骤:

确保您的 CoordinatorLayout 或 BottomAppBar 已设置为考虑系统插入。您可以通过将 android:fitsSystemWindows="true" 添加到 CoordinatorLayout 来做到这一点:

© www.soinside.com 2019 - 2024. All rights reserved.