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;
}
}