Penggunaan RecyclerView tidak hanya untuk menampilkan data berupa list. bisa juga digunakan untuk menampilkan data berupa grid. yang mana sangat cocok jika untuk menampilkan gambar. widget RecyclerView ini mendukung tiga type LayoutManager yaitu LinearLayoutManager, GridLayoutManager dan StaggeredGridLayoutManager.


untuk membuatnya pertama jangan lupa tambahkan support library pada gradle. kemudian siapkan layout untuk gambar dahulu.


lanjut ke pembuatan layout utama.
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
lanjut lagi ke pembuatan class adapter untuk RecyclerView
package com.yoesuv.gridrecyclerview;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class MyGridAdapter extends RecyclerView.Adapter<MyGridAdapter.ViewHolder>{
private int[] dataset;
public MyGridAdapter(){
dataset = new int[30];
for(int i=0;i<30;i++){
dataset[i] = R.mipmap.ic_launcher;
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.gallery, null);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.imgView.setImageResource(dataset[position]);
}
@Override
public int getItemCount() {
return dataset.length;
}
class ViewHolder extends RecyclerView.ViewHolder{
ImageView imgView;
public ViewHolder(View itemView) {
super(itemView);
imgView = (ImageView) itemView.findViewById(R.id.imageView);
}
}
}

paling akhir yaitu class utama. atur LayoutManager dari RecyclerView ke GridLayoutManager dengan parameter context aplikasi dan jumlah kolom.


download apknya disini dan file projectnya disini.