如果布局中没有空间,TextView 将自动进入下一行

Sab*_*yed 1 java android android-studio-3.0

如果 TextView 不适合当前行,我想自动将其移动到下一行。例如,我的布局中有 20 个 TextView,并且想要在其中设置客户名称。有些客户名称较长,有些则较小。根据该行中的空间可用性,应该显示 TextView。如果没有空格,那么它应该自动移动到该布局中的下一行。

谁能帮我这个?

Ben*_* P. 5

标准 Android 框架中没有任何内容可以让您执行此操作,但 Google 有一个非常好的外部库(称为FlexboxLayout)可以为您执行此操作。

您可以使用 aFlexboxLayout作为所有TextViews 的父级,而不是例如 a LinearLayout,它会为您包装它们。

<com.google.android.flexbox.FlexboxLayout
    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"
    app:flexWrap="wrap">

    <!-- add your 20 textviews here -->

</com.google.android.flexbox.FlexboxLayout>
Run Code Online (Sandbox Code Playgroud)

请注意,指定这一点很重要app:flexWrap="wrap",因为默认情况下不进行换行。我不知道为什么会这样,因为使用这个库的全部目的就是进行包装,但是嘿。