我使用GridLayoutManager的回收视图显示自定义画廊在我的应用程序。我已经实现了所有的功能,如画廊。但是有一件小事让我纠结。在一行我有3个图像。但是我需要减少图像之间的空间。在这样做的时候,我不想连续显示超过3张图像,但是图像大小(如果需要)可以增加。
要删除间距,可以使用outRect。setEmpty()
RecyclerView.ItemDecoration divider = new RecyclerView.ItemDecoration(){
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.setEmpty();
}
};
grid.addItemDecoration(divider);
将其用于“回收器”视图,
this.mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 3));
this.mRecyclerView.addItemDecoration(new HorizontalDividerItemDecoration.Builder(getContext())
.color(Color.DKGRAY)
.build());
this.mRecyclerView.addItemDecoration(new VerticalDividerItemDecoration.Builder(getContext())
.color(Color.DKGRAY)
.build());
在每个项目的布局文件中,设置图像以满足容器的边缘。
如:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RlayoutGrid"
android:layout_width="220dp"
android:layout_height="170dp"
android:background="@android:color/black">
<ImageView
android:id="@+id/prefence_imageButton"
android:layout_width="match_parent"
android:layout_height="170dp"
android:background="@android:color/black"
android:focusable="false"
android:focusableInTouchMode="false"
android:scaleType="fitXY"
/>
</RelativeLayout>
把这个加到你的build.gradle
compile 'com.yqritc:recyclerview-flexibledivider:1.2.4'
您可以使用自定义RecycleServiceItemDecorator
:
public class RecyclerViewItemDecorator extends RecyclerView.ItemDecoration {
private int spaceInPixels;
public RecyclerViewItemDecorator(int spaceInPixels) {
this.spaceInPixels = spaceInPixels;
}
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent, RecyclerView.State state) {
outRect.left = spaceInPixels;
outRect.right = spaceInPixels;
outRect.bottom = spaceInPixels;
if (parent.getChildLayoutPosition(view) == 0) {
outRect.top = spaceInPixels;
} else {
outRect.top = 0;
}
}
}
然后将其添加到您的RecycraView
:
// For example 10 pixels
int spaceInPixels = 10;
mRecyclerView.addItemDecoration(new RecyclerViewItemDecorator(spaceInPixels));
希望有帮助!
嗨,我正在学习本教程: http://www.journaldev.com/10024/android-recyclerview-and-cardview-example-tutorial 现在我面临一个奇怪的问题中每个项之间的余量太大了。 如何减少放置在中的每个项目之间的余量?
我正在使用回收器视图显示具有多个视图的项目。每当我启动应用程序时,就会显示一些空白。正好等于我的列表项。我提供了截图,请浏览一下。 我想我的代码没有问题。下面是我的代码RecycerView 适配器代码 请帮帮我。谢谢。
我有一个字符串数组,通过它映射使用CheckboxListTile小部件作为标签不同的复选框,但我需要减少这些复选框之间的空间。
我能够从URL发送JSON响应,然后当我在RecyclerView上显示相同的响应时,得到的输出是空白的,但选项卡和导航抽屉仍然存在。运行该应用程序时也没有错误。我也在使用截击库。 问题:我在列出服务的RecylerView上没有得到任何输出。我会在这里贴出与RecyclerView相关的代码。另外,我已经在底部发布了堆栈跟踪。 serviceViewAdapter.java(适配器) fragm
请帮助如何使其工作
我使用RecyclerView和GridLayoutManager作为公共汽车票预订的布局。所有的工作都很好,但除了我坚持逻辑的地方,我必须使用在所有行中的3和4列项目之间留出更多的间距。基本上我的布局应该像下面附上的截图一样。 我的要求: 电流输出: 请帮助我与任何类型的提示和解决方案,以解决我的案件。我完全支持如何使用RecyclerView来处理这个需求和逻辑,我认为这应该是最优化的方法。提