FlexboxLayout实现GridView效果

时间:2016-05-30 11:20:35

标签: android gridview

Google发布了FlexboxLayout lib。现在我想使用FlexboxLayout来实现GridView效果,因为GridView有两行和四个列表。如果项目计数小于8,则项目视图将左对齐。当我使用FlexboxLayout时,第二行中的项目对齐中心,如何将它们左对齐?

我对前端知之甚少。

这是代码:

<com.google.android.flexbox.FlexboxLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@android:color/holo_green_light"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    app:flexWrap="wrap"
    app:alignItems="baseline"
    app:alignContent="stretch"
    app:justifyContent="space_around">

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

    <android.support.v7.widget.AppCompatButton
        android:background="@android:color/holo_red_dark"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:layout_flexBasisPercent="20%"/>

</com.google.android.flexbox.FlexboxLayout>

1 个答案:

答案 0 :(得分:0)

变化:

app:alignItems="baseline"
app:alignContent="stretch"
app:justifyContent="space_around"

要:

app:flexWrap="wrap"
app:flexDirection="row"
app:alignItems="center"
app:alignContent="flex_start"
app:justifyContent="flex_start"