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:

1.gif

Pelaksanaan kod:

Yang pertama ialah reka letak Item GridView: item_grid_icon.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android " android: Layout_height =" Match_parent " android: padding =" 5dp "& gt; "@+id/img_icon"
        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:

kelas awam MainActivity melanjutkan AppCompatActivity {

    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

kelas awam MainActivity melanjutkan AppCompatActivity {

    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显示手机相册~嗯,就说这么多, 谢谢~