GridView 学习

                                        GridView 学习

1.    GridView是一个用来显示二维滚动数据的格子 它的父类是AbsListView .

2.    常用的属性设置 可以通过XMl或者在类中编写代码来实现 setNumColumns(int numColumns) 用来设置 每行显示的列数 setSelection(int position)  当前显示的列数 setVerticalSpacing(int verticalSpacing) 垂直间隔的设置  setHorizontalSpacing(int horizontalSpacing) 水平间隔的设置  setGravity(int gravity) 设置 视图排列的位置 

 

以下是2个例子对GridView进一步学习

第一步 在XML布局文件里面添加GridView

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/RelativeLayout_catalog" android:layout_width="fill_parent"

android:layout_height="wrap_content">

<GridView android:id="@+id/GridView_toolbar"

android:layout_height="wrap_content" android:layout_width="fill_parent"

android:layout_alignParentBottom="false"></GridView>

<ListView android:id="@+id/ListView_catalog"

android:layout_above="@id/GridView_toolbar" android:layout_width="fill_parent"

android:layout_height="wrap_content">

</ListView>

<GridView android:id="@+id/GridView_toolbar2"

android:layout_height="wrap_content" android:layout_width="fill_parent"

android:layout_alignParentBottom="true"

android:numColumns="5" android:horizontalSpacing="10dip"

android:verticalSpacing="10dip" android:gravity="center"

></GridView>

</RelativeLayout>

在Activity 中 进行相应的数据绑定
GridView gv,gv2;
/** 底部菜单图片 **/
int[] menu_toolbar_image_array = { R.drawable.controlbar_homepage,
R.drawable.controlbar_backward_enable,
R.drawable.controlbar_forward_enable, R.drawable.controlbar_window,
R.drawable.controlbar_showtype_list };
/** 底部菜单文字 **/
String[] menu_toolbar_name_array = { "首页", "后退", "前进", "创建", "菜单" };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        gv = (GridView) findViewById(R.id.GridView_toolbar);
        gv.setBackgroundResource(R.drawable.channelgallery_bg);
        gv.setNumColumns(5);//设置每行列数
        gv.setGravity(Gravity.CENTER);
        gv.setVerticalSpacing(10);//垂直的间隔
     gv.setHorizontalSpacing(10);// 水平间隔
        SimpleAdapter adapter = this.getMenuAdpater(menu_toolbar_name_array, menu_toolbar_image_array);
        gv.setAdapter(adapter);
        
        gv2 = (GridView) findViewById(R.id.GridView_toolbar2);
        gv2.setBackgroundResource(R.drawable.channelgallery_bg);
        gv2.setAdapter(adapter);
        
    
        
    }
    public SimpleAdapter getMenuAdpater(String[] menuNameArray,int[] menuImageArray)
    {
     ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
     for(int i=0;i<menuNameArray.length;i++)
     {
     HashMap<String, Object> map = new HashMap<String, Object>();
     map.put("menuName", menuNameArray[i]);
     map.put("menuImage", menuImageArray[i]);
     data.add(map);
     }
    
     SimpleAdapter adapter = new SimpleAdapter(this, data, 
     R.layout.item_menu, new String[]{"menuName","menuImage"},new int[]{R.id.TextView01,R.id.ImageView01});
     return adapter;
    }

数据绑定常用到 SimpleAdapter 与 BaseAdapter 2个类

下面是允许的效果图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值