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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
0 Komentar