Поместите элементы в одну строку, используя макет ограничения Android 2.0.0. - PullRequest
0 голосов

Я пытался использовать новый Android Flow макет. https://developer.android.com/reference/android/support/constraint/helper/Flow. У меня есть этот экран, элементы в макете потока и расширитель (теперь открыт). Когда расширитель закрыт, я хочу разместить только первую строку (4 позиции).

Мой макет xml потока

   <androidx.constraintlayout.helper.widget.Flow
                    android:id="@+id/fr_mail_viewer_attachments_flow"
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_marginTop="8dp"
                    app:flow_horizontalBias="0"
                    app:flow_horizontalGap="8dp"
                    app:flow_horizontalStyle="packed"
                    app:flow_verticalBias="0"
                    app:flow_verticalGap="8dp"
                    android:layout_marginEnd="8dp"
                    app:flow_wrapMode="chain"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toStartOf="@id/fr_mail_viewer_attachments_expander"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

Я пытался использовать app:flow_maxElementsWrap="1", и это не помогло мне

enter image description here

Кто-нибудь может мне помочь или поделиться какими-то ресурсами о макете потока?

1 Ответ

0 голосов
/ 12 июня 2019

В вашем случае вы хотите обернуть после 4 элементов, как я вижу на вашей картинке. Вы должны добавить app: flow_maxElementsWrap = "4" в ваш виджет Flow. Также имейте в виду, что вы можете установить ориентацию на виджет потока, чтобы контролировать расположение элементов в цепочке:

                <androidx.constraintlayout.helper.widget.Flow
                    android:id="@+id/fr_mail_viewer_attachments_flow"
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_marginTop="8dp"
                    android:orientation="vertical"
                    app:flow_horizontalBias="0"
                    app:flow_horizontalGap="8dp"
                    app:flow_horizontalStyle="packed"
                    app:flow_verticalBias="0"
                    app:flow_verticalGap="8dp"
                    android:layout_marginEnd="8dp"
                    app:flow_wrapMode="chain"
                    app:flow_maxElementsWrap="4"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toStartOf="@id/fr_mail_viewer_attachments_expander"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
...