Фрагмент не отображается полностью при использовании в действии с панелью действий - PullRequest
0 голосов
/ 08 апреля 2019

В моей деятельности (ConstraintLayout) у меня есть панель действий и контейнер (для моего адаптера страницы просмотра).В этом контейнере я показываю различные фрагменты.Моя проблема в том, что фрагменты (также в ConstraintLayout) отображаются не полностью, то есть в конце они обрезаются.Я предполагаю, что это происходит потому, что фрагмент «не знает» о панели действий в действии и, таким образом, думает, что имеет полный экран для использования, но вместо этого эта часть, которую занимает панель действий, перемещается вниз и выключается с экрана.Это просто предположение, может быть, я совершенно не прав.Кто-нибудь может помочь с тем, чтобы убедиться, что макет фрагмента как-то «подогнан» прямо к экрану?

xml моей активности с панелью действий:

<android.support.constraint.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="wrap_content"
tools:context=".TourActivity">

<include
    android:id="@+id/app_bar"
    layout="@layout/app_bar"
    tools:layout_editor_absoluteY="8dp"></include>

<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:layout_marginTop="8dp"
    app:layout_constraintTop_toBottomOf="@+id/app_bar" />


</android.support.constraint.ConstraintLayout>

фрагмент xml:

<android.support.constraint.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=".TourActivity">

<TextView
    android:id="@+id/test"
    android:layout_width="388dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="24dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="24dp"
    android:gravity="center"
    android:text="testtest testtest"
    android:textSize="25dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.52"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<ImageView
    android:id="@+id/imageView"
    android:layout_width="365dp"
    android:layout_height="185dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="16dp"
    android:layout_marginEnd="8dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/question"
    tools:src="@android:color/darker_gray" />

<Button
    android:id="@+id/answerButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="156dp"
    android:layout_marginEnd="8dp"
    android:text="answerButton1"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView" />

<Button
    android:id="@+id/answerButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="32dp"
    android:layout_marginEnd="8dp"
    android:text="answerButton2"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/answerButton1" />

<Button
    android:id="@+id/answerButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="32dp"
    android:layout_marginEnd="8dp"
    android:text="answerButton3"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/answerButton2" />
</android.support.constraint.ConstraintLayout>

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Использовать относительную компоновку в основном XML-файле

<RelativeLayout 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="wrap_content"
    tools:context=".TourActivity">

    <include
        android:id="@+id/app_bar"
        layout="@layout/app_bar"
        tools:layout_editor_absoluteY="8dp"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/app_bar" />
</RelativeLayout>
0 голосов
/ 08 апреля 2019
<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginTop="8dp"

    app:layout_constraintTop_toBottomOf="@+id/app_bar"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent" />

Пожалуйста, попробуйте.

...