0
votes

La disposition du cadre n'est pas correctement positionnée dans ConstraintLayout

J'ai placé un FrameLayout dans ConstraintLayout et je pense qu'il est correctement contraint. Mais dans l'application, il n'est pas correctement positionné. FrameLayout est remplacé par le fragment approprié lors de l'exécution.

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.chapters.ChapterActivity">


    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar_chapter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:title="Chapters"
        app:titleTextColor="@color/White" />

    <FrameLayout
        android:id="@+id/chapter_fragment_container_frameLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minHeight="500dp"
        app:layout_constraintBottom_toTopOf="@+id/bottom_navigation"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.388"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_chapter"
        app:layout_constraintVertical_bias="1.0" />

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@color/colorPrimary"
        app:itemIconTint="@color/White"
        app:itemTextColor="@color/Wheat"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:menu="@menu/chapter_bottom_menu">

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


</androidx.constraintlayout.widget.ConstraintLayout>

Voici ce qui est affiché dans l'EDI:

 IDE Design Preview a>

Mais voici ce que j'obtiens dans l'appareil:

 App run in Device Preview

FrameLayout devrait être placé entre la barre d'outils et la barre de navigation inférieure, cela devrait être fait par un LinearLayout / Relative , je n'ai pas essayé ... mais qu'est-ce qui ne va pas avec ça?


0 commentaires

3 Réponses :


0
votes

Changer la propriété android: layout_height de framelayout de "match_parent" à "wrap_content"


0 commentaires

2
votes

Modifiez cette partie FrameLayout comme ci-dessous:

 <FrameLayout
        android:id="@+id/chapter_fragment_container_frameLayout"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:minHeight="500dp"
        app:layout_constraintBottom_toTopOf="@+id/bottom_navigation"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.388"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_chapter"
        app:layout_constraintVertical_bias="1.0" />

La raison pour laquelle cela se produit est à cause de match_constraint . Si vous avez défini une contrainte pour haut, bas, début et fin , vous devez définir 0dp pour hauteur et largeur pour afficher.


0 commentaires

0
votes

Changez la hauteur de FrameLayout à 0dp,

<FrameLayout
        android:id="@+id/chapter_fragment_container_frameLayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:minHeight="500dp"
        app:layout_constraintBottom_toTopOf="@+id/bottom_navigation"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.388"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_chapter"
        app:layout_constraintVertical_bias="1.0" />


0 commentaires