android 设置Gridlayout中item的位置

快过年了,先祝大家新年快了!今天是年前的最后一天上班了,下午也没什么事了,就等着下班的时候打扫打扫卫生,然后就各回各家各找各妈,过年了。

今天就把前段时间使用的Gridlayout的使用总结一下。整个界面的效果图如下:


考虑到需求每一item的宽和高都不固定,比如国家地理现在它相对7日更新是2:1的大小,以后有可能它们会是1:1的大小,为了更好的做适应选用了Gridlayout做基础的布局,整个界面做基本的划分如下九个部分:

   

由于界面上item的个数是不固定的,现在是九个以后可能会有是个或者更多,所以我们按最小的item来划分整个界面布局,这样就将整个界面划分成3行7列。


这样在Gridlayout添加view的时候控制每一个view所占的区域,完成整个页面的布局

       通过在代码实现这种布局主要用到的LayoutParams的两个属性,一个是columnSpec另一个是rowSpec,这两个属性的值确定了以后整个item在gridlayout中的位置也就确定了,例如编号为1 的item,通过设置LayoutParams设定位置代码如下

GridLayout.LayoutParams param = new GridLayout.LayoutParams();
 param.columnSpec = GridLayout.spec(0, 1);
 param.rowSpec = GridLayout.spec(0, 1);
view.setLayoutParams(param);
gridlayout.addView(view);

其中columnSpec即为设置该view所站的列的下标和列的数目,rowSpec即为所占的行的下标和行的数目。通过代码可以解释为view在Gridlayout中的位置为第0行第0列宽占一列高占一行。

同样其他的view设置好columnSpes和rowSpec就可以确定其在Gridlayout中的位置,每一个item的参数如下图,参数意义为(X, Y ,row,column)。




  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值