ConstraintLayout внутри ScrollView не может сохранять ограничения - PullRequest
0 голосов
/ 26 февраля 2019

Ребята, мне нужно, чтобы мой ConstraintLayout имел возможность прокрутки, поэтому я поместил его в ScrollView, например так:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:overScrollMode="never">
    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/img"
            android:layout_margin="64dp"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:scaleType="fitXY"
            app:srcCompat="@drawable/avd"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toTopOf="@id/btn"
            app:layout_constraintDimensionRatio="1:1"
            app:layout_constraintHeight_min="64dp"
            app:layout_constraintHeight_max="256dp"/>
        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button"
            app:layout_constraintTop_toBottomOf="@id/img"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"/>
    </android.support.constraint.ConstraintLayout>
</ScrollView>

Но проблема в том, что мне нравится прокручивать макет, когда всеограничения достигли своего минимального размера (означает, что все элементы управления достигли своих указанных полей, и компоновка больше не может уменьшаться).Но, похоже, когда ScrollView нужно показать свитки, он определяет очень большой размер для высоты ConstraintLayout, поэтому мой макет масштабируется до максимально возможного размера.Если вы попробуете эту раскладку в портретной, а затем в альбомной ориентации, вы заметите, как она меняется.

Интересно, есть ли способ начать прокрутку, когда все ограничения достигли своего минимального размера.Есть идеи, как мне это сделать?

...