我想得到下图所示的除法器:
我希望所有列的宽度相同,但行间距不同。现在我的第一列和最后一列被剪成这样:
以下是我的< code>ItemDecoration:
public class MoreIndexItemDividerDecoration extends RecyclerView.ItemDecoration {
private GridLayoutManager mGridLayoutManager;
private GridLayoutManager.SpanSizeLookup mSpanSizeLookup;
private int mSpanCount;
public MoreIndexItemDividerDecoration(GridLayoutManager manager, int spanCount) {
mGridLayoutManager = manager;
mSpanSizeLookup = mGridLayoutManager.getSpanSizeLookup();
mSpanCount = spanCount;
}
@Override
public void getItemOffsets(Rect outRect, View child, RecyclerView parent, RecyclerView.State state) {
int pos = parent.getChildLayoutPosition(child);
int left = 0;
int top = 0;
int right = 0;
int bottom = 0;
if (mGridLayoutManager.getItemViewType(child) == 1) {
if (mSpanSizeLookup.getSpanIndex(pos, mSpanCount) == 0) {
left = 50;
} else {
left = 5;
}
if (mSpanSizeLookup.getSpanIndex(pos, mSpanCount) == mSpanCount - 1) {
right = 50;
} else {
right = 5;
}
top = 5;
bottom = 5;
} else {
if (mSpanSizeLookup.getSpanGroupIndex(pos, 4) != 0) {
top = 45;
}
bottom = 45;
}
outRect.set(left, top, right, bottom);
HtscLog.e("child pos: " + pos + " span size: " + mSpanSizeLookup.getSpanSize(pos) + " group index: " + mSpanSizeLookup.getSpanGroupIndex(pos, 4) + " index: " + mSpanSizeLookup.getSpanIndex(pos, 4) + " view type: " + mGridLayoutManager.getItemViewType(child));
}
}
我怎样才能解决这个问题?谢谢
事实上,在<code>getItemOffsets</code>的<code>outRect</code>参数中设置的值占据了项的空间。
我实现了一个< code > SCommonItemDecoration 来解决这个问题。
请参考:ibosong/CommonItemDecoration
回答得晚,但可能对其他有相同要求的人有帮助。
下面是我如何为RecyclerView项目设置间距。它被设计用于网格和列表。间隔很有效。 我搞不懂的是如何插入分隔线。如有任何帮助,我们将不胜感激。 旁注:如果你有比我现在做的更好的方法来实现间距,我会非常感激:) 下面是我想要做的一个快速视觉效果: 以下是我所知道的: 这是我想要的:
有没有办法防止分割器显示在最后一个项目之后?
什么是最好的和最简单的方法来装饰回收器视图有这样的外观 这里的主要挑战是仅在项目之间使用分隔线,而不是在项目和屏幕的左/右边框之间划分。 有什么想法吗?
我想显示一个项目列表,并使用“.” 我对此进行了研究,发现RecyclerView有一个内置的ItemDecoration功能。然而,我只能找到如何画一条线: 从我所看到的,您必须为此使用可绘制的,并且隐藏最后一个分隔符仍然不是很方便。 我发现的另一个选项是在RecyclerView的适配器内创建异构布局:https://guides.codepath.com/android/Heterogeno
问题内容: 我有一个像这样的字符串: 我想拆分该字符串并选择作为分隔符。 我的代码如下所示: 我得到的是一个包含所有字符作为一个条目的数组: 有人知道为什么吗? 我不能用分割字符串吗? 问题答案: 在RegEx中被视为。因此,您需要对其进行转义:
问题内容: 如何在定界符哪里分割此字符串 获得?的输出 问题答案: 你可以使用以下功能: