使用 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>
我也试过了ConstraintLayout
,Flow
但结果还是一样...
如果我使用LinearLayout
水平方向,那么它可以填充手机屏幕的所有宽度,但如果我有很多元素并且它们不可见,它也可以比屏幕宽度更大:
它只有 9 个元素,但应该有 12 个,所以这就是我尝试使用的原因FlexboxLayout
如何制作FlexboxLayout
或占用手机屏幕的所有宽度ConstraintLayout
?Flow