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