0

问题是所有项目每行显示一个项目。像这样:

|   item    |
|   item    |
|   item    |

我想像这样向他们展示:

| item item |
|   item    |
|           |

我已明确将项目的宽度设置为 148dp。当列跨度为 2 或每行动态列基于它们的宽度显示与屏幕宽度一样多时,它在 GridLayoutManager 中运行良好,但我无法轻松地将它们居中。

在 FlexLayoutManager 之后我遇到了这个问题。虽然当我将方向设置为 COLUMN 时,项目显示附加到左侧,但仍然在每一行上。我有这个 RealmRecycleView:

   <co.moonmonkeylabs.realmrecyclerview.RealmRecyclerView
    android:id="@+id/recycleViewDashboard"
    android:layout_width="match_parent"
    android:padding="@dimen/grid_item_offset"
    android:clipToPadding="false"
    android:layout_height="wrap_content"
    app:rrvIsRefreshable="false"
    app:rrvLayoutType="LinearLayout">
   </co.moonmonkeylabs.realmrecyclerview.RealmRecyclerView>

这就是我设置 LayoutManager 的地方

FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(getContext());
    layoutManager.setFlexDirection(FlexDirection.ROW);
    layoutManager.setJustifyContent(JustifyContent.SPACE_AROUND);
    mRecyclerView.getRecycleView().setLayoutManager(layoutManager);

这是我的ItemView:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<ImageView
    android:id="@+id/image_view"
    android:layout_centerInParent="true"
    android:layout_width="148dp"
    android:layout_height="148dp"
    android:background="#ccc"
    android:scaleType="fitXY" />
</RelativeLayout>
4

1 回答 1

1

利用 :

    layoutManager.setFlexDirection(FlexDirection.ROW);
    layoutManager.setJustifyContent(JustifyContent.FLEX_START);
    layoutManager.setAlignContent(AlignContent.CENTER);
    layoutManager.setAlignItems(AlignItems.CENTER);
于 2017-11-25T05:22:44.980 回答