Penggunaan asas GridView (pandangan grid)
Pengenalan kepada bahagian ini:
Bahagian ini memperkenalkan anda kepada kawalan kelas Penyesuai kedua - GridView (pandangan grid Seperti namanya, ListView ialah senarai). GridView adalah untuk memaparkan grid! Seperti ListView, ia adalah subkelas AbsListView! Banyak perkara yang serupa dengan ListView. Dalam bahagian ini kita akan mempelajari penggunaan asasnya~
1 Atribut berkaitan:
Berikut ialah beberapa atribut dalam GridView:
- android:columnWidth: Tetapkan lebar lajur
- android:gravity: Cara komponen menjajarkan
- android: horizontalSpacing : Jarak setiap sel dalam arah mendatar
- android:verticalSpacing: Jarak setiap sel dalam arah menegak
- android: numColumns: Tetapkan bilangan lajur
- android:stretchMode: Tetapkan mod regangan, nilai pilihan adalah seperti berikut: tiada: Tiada regangan ; spacingWidth : Regangkan jarak antara elemen columnWidth: Hanya regangkan elemen jadual itu sendiri spacingWidthUniform: Regangkan kedua-dua jarak antara elemen dan jarak antara elemen tersebut
2. Contoh penggunaan:
Berikut ialah contoh mudah untuk membiasakan diri dengan penggunaan kawalan ini: (Penyesuai yang digunakan di sini ialah BaseAdapter boleh guna semula yang diajar dalam 2.5.0~)
Pemberian pelaksanaan:
Pelaksanaan kod:
Yang pertama ialah reka letak Item GridView: item_grid_icon.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android "
android:layout_width="64dp"
android:layout_height="64dp"
android _icon_1" />
<TextView
android:id="@+id/txt_icon"
android:layout_width="wrap_content"
android : android :layout_below="@id/img_icon"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
="18sp" / >
</RelativeLayout>
接着我们写个entity实体类:Icon.java:
* Dibuat oleh Jay pada 2015/9/24 0024.
*/
public class Icon tekanan iId;
pribadi String iName;
public Icon() {
}
public Icon(int iId, String iName) {
}
public Icon(int iId, String iName >
this.iname = iname;
}
public int getiid () {
return iid;
}
rentetan awam getiname () {
kembali iName;
}
public void setiId(int iId) {
this.iId = iId;
(int iId) {
this.iId = iId;
Na (saya Stream
this.iName = iName;
}
Akhir sekali, susun atur MainActivity dan kod Java
activity_main.xml:
konteks pribadi mContext;
pribadi GridView grid_photo;
private mContext vate ArrayList<Ikon> mData = null;
@Override
dilindungi void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState.set. utama);< > activity 🎜> mKonteks = MainActivity.this;
grid_photo = (GridView) findViewById(R.id.grid_photo);
mData = new ArrayList<Icon<Icon> (); atas< new atas R.mipmap .iv_icon_1, "图标1"));
mData.add(Ikon baharu(R.mipmap.iv_icon_2, "图标2"));
( mData.con. ( mData.con_2, "图标2"));图标3"));
mData.add(Ikon baharu(R.mipmap.iv_icon_4, "图标4"));
mData.add(Ikon baharu(R.mipmap.icon_5, icon) );
mData.add(Ikon baharu(R.mipmap.iv_icon_6, "图标6"));
mData.add(Ikon baharu(R.mipmap.iv_icon_7, "图, "图, "图>
mAdapter = baharu MyAdapter<Icon>(mData, R.layout.item_grid_icon) {
@Override
bin ob view public view {
pemegang.setImageResource(R.id .img_icon, obj.getiId());
holder.setText(R.id.txt_icon, obj.getiName());
holder.setText(R.id.txt_icon, obj.getiName());
_photo.setAdapter(mAdapter );
grid_photo.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView ; pandangan panjang< > 🎜> Toast.makeText(mContext, "你点击了~" + kedudukan + "~项", Toast.LENGTH_SHORT).tunjukkan();
}
});
🎜>
🎜>
< <🎜 🎜>
MainActivity.java:
konteks pribadi mContext;
pribadi GridView grid_photo;
private mContext vate ArrayList<Ikon> mData = null;
@Override
dilindungi void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState.set. utama);< > activity 🎜> mKonteks = MainActivity.this;
grid_photo = (GridView) findViewById(R.id.grid_photo);
mData = new ArrayList<Icon<Icon> (); atas< new atas R.mipmap .iv_icon_1, "图标1"));
mData.add(Ikon baharu(R.mipmap.iv_icon_2, "图标2"));
( mData.con. ( mData.con_2, "图标2"));图标3"));
mData.add(Ikon baharu(R.mipmap.iv_icon_4, "图标4"));
mData.add(Ikon baharu(R.mipmap.icon_5, icon) );
mData.add(Ikon baharu(R.mipmap.iv_icon_6, "图标6"));
mData.add(Ikon baharu(R.mipmap.iv_icon_7, "图, "图, "图>
mAdapter = baharu MyAdapter<Icon>(mData, R.layout.item_grid_icon) {
@Override
bin ob view public view {
pemegang.setImageResource(R.id .img_icon, obj.getiId());
holder.setText(R.id.txt_icon, obj.getiName());
holder.setText(R.id.txt_icon, obj.getiName());
_photo.setAdapter(mAdapter );
grid_photo.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView ; pandangan panjang< > 🎜> Toast.makeText(mContext, "你点击了~" + kedudukan + "~项", Toast.LENGTH_SHORT).tunjukkan();
}
});
🎜>
🎜>
< <🎜 🎜>
嗯,代码非常简单~
3.示例代码下载:
GridViewDemo1.zip
本节小结:
本节给大家介绍了第二个需要使用Adapter的UI控件——网格视图GridView,用法很简单~ 大家可以根据自己的需求进行扩展,比如用GridView显示手机相册~嗯,就说这么多, 谢谢~