Android上CoordinatorLayout中RecyclerView下方的底部视图

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

我从ConstraintLayout切换为CoordinatorLayout,以避免快餐栏与底部视图重叠。虽然它在只有工具栏,RecyclerView和Floating按钮的屏幕中运行良好,但在第二个屏幕中,我很难在RecyclerView下方添加视图,同时又避免与RecyclerView重叠]

我迄今为止(下面)最好的解决方法是将约paddingBottom80dp属性添加到recyclerView。这看起来像解决了问题,但是当快餐栏打开时,底部视图android:id="@+id/item_cl_add"再次与recyclerView重叠。当然,我可以添加更多paddingBottom来补偿快餐栏的大小,但这意味着我将损失大约20dp的房地产(这不是一个好主意)。

我检查了许多网站,但找不到简单的解决方案

波纹管是我的最新代码,仍然在小吃店上重叠

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    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/item_col_top"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".item.ItemActivity">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <include
        android:id="@+id/item_toolbar"
        layout="@layout/toolbar" />
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/item_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="60dp"
        android:layout_marginTop="8dp"
        tools:listitem="@layout/list_item"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>


    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/item_cl_add"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:layout_dodgeInsetEdges="bottom"
        android:layout_gravity="bottom">

        <AutoCompleteTextView
            android:id="@+id/item_ac_add"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp"
            android:hint="@string/item_edit_text_hint"
            android:imeOptions="actionDone"
            android:inputType="text"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/item_b_add"
            app:layout_constraintTop_toTopOf="parent"
            tools:targetApi="o" />

        <Button
            android:id="@+id/item_b_add"
            android:layout_width="42dp"
            android:layout_height="42dp"
            android:layout_marginStart="8dp"
            android:background="@color/colorForeground"
            android:stateListAnimator="@null"
            android:text="+"
            android:textColor="@android:color/black"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />


    </androidx.constraintlayout.widget.ConstraintLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

以下是屏幕截图

快餐栏(良好

enter image description here

下面是屏幕截图with

快餐栏(不好

enter image description here

我从ConstraintLayout切换为CoordinatorLayout,以避免快餐栏与底部视图重叠。虽然它在只有工具栏,RecyclerView和浮动按钮的屏幕中效果很好,但在...

android android-coordinatorlayout android-snackbar
1个回答
1
投票
在视图可以自由重叠的意义上,

CoordinatorLayout与FrameLayout相似。因此,填充无法解决问题。

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