Android Studio中GridView的使用方法3-3

1.4 设置数据

在MainActivity.java中设置要显示的数据。首先,自定义一个设置数据的方法getData(),代码如下所示。

private List<Player> getData()
{
    List<Player> data = new ArrayList<Player>();
    data.add(new Player("梅西",R.mipmap.meixi));
    data.add(new Player("C罗",R.mipmap.cluo));
    data.add(new Player("本泽马",R.mipmap.benzema));
    data.add(new Player("武磊",R.mipmap.wulei));
    data.add(new Player("伊布",R.mipmap.yibu));
    data.add(new Player("因西涅",R.mipmap.yinxinie));
    data.add(new Player("哲科",R.mipmap.zheke));
    data.add(new Player("姆巴佩",R.mipmap.mubapei));
    return data;
}

其中,data是List<Player>的对象,通过add()方法将要显示的数据添加到List中。类似R.mipmap.meixi格式的值是导入球员图片的ID。

接下来在OnCreate()方法中有如下代码:

gv = (GridView)findViewById(R.id.activity_main_gv);
CustomAdapter adapter = new CustomAdapter(this,getData());
gv.setAdapter(adapter);

其中,gv是GridView类的对象,activity_main_gv是主界面中GridView控件的ID,通过findViewById()方法将gv与GridView控件关联;之后定义在“1.3定义Adapter类”中提到的自定义Adapter类CustomAdapter的对象,最后通过setAdapter()方法设置GridView控件的适配器,在GridView中显示图1所示的指定数据。

2 GridView控件的属性

2.1 numColumns

GridView控件的numColumns指定了控件的列数,图1中显示的GridView的效果,该控件具有如下属性

android:numColumns="3"

还可以将numColumns的值设置为“auto_fit”,该值表示根据屏幕大小自动设置列数。

2.2 verticalSpacing和horizontalSpacing

verticalSpacing属性指定了GridView控件两行之间的垂直间距,即行间距;horizontalSpacing属性指定了GridView控件两列之间的水平间距,即列间距。设置这两个属性的代码如下所示。

android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"

2.3 columnWidth

columnWidth属性指定了GridView控件每一列的宽度。

2.4 strechMode

strechMode属性指定了缩放模式,即指定了GridView的列适应空白的方式。例如模拟器采用的分辨率是800×480,GridView的numColumns值设置为“4”,columnWidth的值设置为100px,horizontalSpacing属性设置为10px。此时4列占的宽度是4×100=400px,4列数据有3个horizontalSpacing,占的宽度是3×10=30px。此时,屏幕的宽度还剩480-(400+30)=50px的空白。strechMode属性就是指定了屏幕宽度剩下的空白如何分配。

当strechMode属性的值是“columnWidth”时,表示将剩下的空白分配给每列;strechMode属性的值是“spacingWidth”时,表示将剩下的空白分配给列与列的间距,此时是不平均分配;strechMode属性的值是“columnWidthUniform”时,表示将剩下的空白分配给每列,此时的分配是平均分配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值