android 九宫格封装,Android 九宫格布局
演示
image
需求
滿足0-9個圖的適配
圖數量
演示
1
image
2
image
3
image
4
image
5
image
6
image
7
image
8
image
9
image
使用
手動設置
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:ngl_gridSpace="10dp"
app:ngl_oneChildHeight="300dp">
style="@style/Img"
android:src="@drawable/ic_fox" />
style="@style/Img"
android:src="@drawable/ic_deef" />
在RecyclerView中使用通過設置 NineGridAdapter
NineGridAdapter源碼:
public abstract class NineGridAdapter {
protected abstract View getItemView(ViewGroup parent, int position);
protected abstract void bindView(View view, int position);
protected abstract int getItemCount();
protected void onItemClick(View view, int position) {
}
}
eg:通過繼承NineGridAdapter 詳見demo
private static class NineImageAdapter extends NineGridAdapter {
private List mUrls;
public NineImageAdapter(List urls) {
mUrls = urls;
}
@Override
protected View getItemView(ViewGroup parent, int position) {
return LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_img, parent, false);
}
@Override
protected void bindView(View view, int position) {
String url = mUrls.get(position);
ImageView imageView = view.findViewById(R.id.iv);
Picasso.with(view.getContext())
.load(url)
.placeholder(R.drawable.ic_heart)
.into(imageView);
}
@Override
protected int getItemCount() {
return mUrls == null ? 0 : mUrls.size();
}
@Override
protected void onItemClick(View view, int position) {
super.onItemClick(view, position);
Toast.makeText(App.getInstance(), "position " + position, Toast.LENGTH_SHORT).show();
}
}
屬性
app:ngl_gridSpace="10dp"
app:ngl_oneChildHeight="200dp"
屬性說明
屬性值
說明
值
ngl_gridSpace
間距
默認20px
ngl_oneChildHeight
當只有一個圖的時候的高度
默認400px
總結
以上是生活随笔為你收集整理的android 九宫格封装,Android 九宫格布局的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pvrect r语言 聚类_R语言常用统
- 下一篇: android jni fork()子进