问题是所有项目每行显示一个项目。这样:
| item |
| item |
| item |
我想这样向他们展示:
| item item |
| item |
| |
我的显式将项目的宽度设置为148dp。当列跨度为2或每行动态列时,它在Gridlayoutmanager中正常工作,以显示与屏幕宽度尽可能多的,但在那里我无法轻松地居中。
flexlayoutmanager之后,我遇到了这个问题。虽然当我设置方向时,将附加到左侧但仍在每行的项目显示时。我有这个领域:
<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);
这是我的项目视图:
<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>
使用:
layoutManager.setFlexDirection(FlexDirection.ROW);
layoutManager.setJustifyContent(JustifyContent.FLEX_START);
layoutManager.setAlignContent(AlignContent.CENTER);
layoutManager.setAlignItems(AlignItems.CENTER);