Android中的GridView的簡介,配置與使用

gridview

GridView(網格視圖)是按照行列的方式來顯示內容的,一般用於顯示圖片,圖片等內

容,比如實現九宮格圖,用GridView是首選,也是最簡單的。主要用於設置Adapter。

佈局中的配置

GridView常用的XML屬性:


屬性名稱                           描述

Android:columnWidth         設置列的寬度。

android:gravity             設置此組件中的內容在組件中的位置。
                            可選的值有:top、bottom、left、right
                             、center_vertical、fill_vertical、
                               center_horizontal、fill_horizontal
                                、center、fill、clip_vertical可以多
                                   選,用“|”分開。


android:horizontalSpacing           兩列之間的間距。


android:numColumns                  設置列數。


android:stretchMode                     縮放模式。


android:verticalSpacing                兩行之間的間距。

佈局Demo

九宮格佈局
 <GridView
    android:listSelector="@android:color/transparent"
    android:id="@+id/gv_home"  
      //設置列數
    android:numColumns="3"
     設置上下兩行之間的距離
    android:verticalSpacing="10dp"
     設置總體佈局
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</GridView>
 題外話:設置走馬燈效果的佈局文件配置
      android:ellipsize="marquee"

代碼中的配置 設置adapter

  private class MyGridAdapter extends BaseAdapter {
       總共的條目的個數
    @Override
    public int getCount() {
        return names.length;
    }

    @Override
    /**
     * 返回,每一個列目的view對象   優化
     */
    public View getView(int position, View convertView, ViewGroup parent) {



        if (convertView == null) {
            convertView = View.inflate(HomeActivity.this, R.layout.grid_item_home,
                    null);
        }

        ImageView icon = (ImageView) view.findViewById(R.id.iv_icon_grid_home);
        icon.setBackgroundResource(iconIds[position]);

        TextView tvName = (TextView) view.findViewById(R.id.tv_name_grid_home);
        tvName.setText(names[position]);

        return convertView;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章