如何减少 Android 中 RecyclerView 项目之间的 space?

How to reduce space between items of RecyclerView in Android?

我已经实现了 Horizo​​ntal RecyclerView for Images。水平导航工作正常但不需要的 space 绘制在 RecyclerView 的两个项目之间。

RecyclerView 项目布局-

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


<ImageView
    android:id="@+id/imgView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/ic_launcher" />

</LinearLayout>

我的 RecyclerView 布局-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>

RecyclerView 设置-

recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
HlistViewAdapter adapter = new HlistViewAdapter(pArray);
recyclerView.setAdapter(adapter);
recyclerView.setItemAnimator(new DefaultItemAnimator());

我的 RecyclerView 适配器-

public class HlistViewAdapter extends RecyclerView.Adapter<HlistViewAdapter.ViewHolder>{

ArrayList<String> pathArray;

public HlistViewAdapter(ArrayList<String> pathArray){
    this.pathArray = pathArray;
}

@Override
public HlistViewAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {

    View itemLayoutView = LayoutInflater.from(viewGroup.getContext())
            .inflate(R.layout.hlist_item_layout, null);

    // create ViewHolder

    ViewHolder viewHolder = new ViewHolder(itemLayoutView);
    return viewHolder;
}

@Override
public void onBindViewHolder(HlistViewAdapter.ViewHolder viewHolder, int i) {
    viewHolder.imgViewIcon.setImageBitmap(BitmapFactory.decodeFile(pathArray.get(i)));
}

public static class ViewHolder extends RecyclerView.ViewHolder {

    public ImageView imgViewIcon;

    public ViewHolder(View itemLayoutView) {
        super(itemLayoutView);
        imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.imgView);
    }
}

@Override
public int getItemCount() {
    return pathArray.size();
}
}

与用户聊天后编辑的答案

问题是图像的大小对于不同的 android 设备来说差异太大,并且无法拉伸它们以防止出现空白。鉴于此,我建议使用 ViewPager 而不是 RecyclerView,因为它将提供相同的功能,但可以更好地控制 imageView 如何对不同大小的图像做出反应。

http://codetheory.in/android-image-slideshow-using-viewpager-pageradapter/