2

我有这个 Flexboxlayout 定义(谷歌官方库):

<com.google.android.flexbox.FlexboxLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:dividerDrawableHorizontal="@drawable/flexboxlayout_divider"
    app:flexWrap="wrap"
    app:justifyContent="space_between"
    app:showDividerHorizontal="middle">

现在我想以编程方式创建相同的内容:

FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(activity);
flexboxLayoutManager.setFlexDirection(FlexDirection.COLUMN);
flexboxLayoutManager.setJustifyContent(JustifyContent.SPACE_BETWEEN);
flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);
myRecyclerView.setLayoutManager(flexboxLayoutManager);

我缺少的是app:dividerDrawableHorizontalandapp:showDividerHorizontal属性,没有找到任何设置它们的方法。

4

1 回答 1

5

因为它从RecyclerView.LayoutManagerRecyclerView.ItemDecoration

你可以做


FlexboxItemDecoration itemDecoration = new FlexboxItemDecoration(context);
itemDecoration.setOrientation(FlexboxItemDecoration.HORIZONTAL); // or VERTICAL or BOTH
itemDecoration.setDrawable(drawable); // replace with actual drawable
myRecyclerView.addItemDecoration(itemDecoration);

于 2020-02-13T17:34:14.870 回答