Максимальная ширина размер плавающего окна с FlexboxLayout ограничен

#android #android-flexboxlayout #android-window #constraintlayout-flow

Вопрос:

Максимальный размер плавающего окна с FlexboxLayout ограничен, хотя слева и справа от экрана телефона все еще есть свободное пространство.

Вместо того, чтобы помещать большинство элементов в первую строку, FlexboxLayout создает вторую строку с почти одинаковым размером элементов.

Не имеет значения, портретная или ландшафтная ориентация:

введите описание изображения здесь

введите описание изображения здесь

Расположение:

 <com.google.android.flexbox.FlexboxLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/widget_background"
    app:flexDirection="row"
    app:flexWrap="wrap"
    android:paddingHorizontal="12dp"
    android:paddingVertical="6dp">

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />

    <ImageView
        android:layout_width="@dimen/overlay_btn_size"
        android:layout_height="@dimen/overlay_btn_size"
        android:layout_marginHorizontal="12dp"
        android:layout_marginVertical="12dp"
        android:scaleType="fitCenter"
        android:src="@drawable/ic_baseline_delete_24" />
</com.google.android.flexbox.FlexboxLayout>
 

I also tried with ConstraintLayout and Flow but still the same result…

If I use LinearLayout with horizontal orientation then it can fill all width of phone screen but it also can be even bigger than width of screen if I have many elements and they won’t be visible:

enter image description here

It has only 9 elements but it should have 12, so that’s why I was trying to use FlexboxLayout

How can I make FlexboxLayout or ConstraintLayout with Flow take all width of phone screen?