在Android布局中放置视图并实现自动换行

9
我希望在布局中放置固定尺寸的按钮,并使它们居中,当按钮过多时自动换行。但我知道这种行为在LinearLayout中不起作用。
你有什么想法吗?
这是我想要的行为:

我在链接上没有看到任何行为。 - llrs
行为是,当有两个按钮时,不需要换行,但当它们有6个时,则需要换行。 - johanvs
3个回答

9

Flexbox库来自Google,正是为此而生:

将依赖项添加到app/build.gradle中:

dependencies {
    implementation 'com.google.android:flexbox:2.0.1'
}

布局的用法:

<com.google.android.flexbox.FlexboxLayout
    app:flexWrap="wrap">
        <View/>
        <View/>
        <View/>
        <View/>
</com.google.android.flexbox.FlexboxLayout>

-1
我最终采用了动态方式: 我为每一行创建了一个LinearLayout,并计算矩形所占的宽度与全局布局宽度相比,以计算所需的行数,并将每个矩形放入正确的行中。

-3

我尝试使用它,但没有成功,因为它不想垂直拉伸以适应所有内容,而是更喜欢允许滚动。当滚动时,顶部和底部有蓝色限制,所以即使它可以拉伸到所有内容,蓝色限制也会保留。您认为是否可能自定义GridView以避免这些问题? - johanvs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接