项目开发中,经常遇到list的渲染item需要居中的需求,刚开始做这个的时候,很傻逼地用chrome一个个调好坐标,然后在代码里面再根据item的数量设置list的坐标,这样做不仅费时,而且肉眼比较难看出一两个像素的布局中差距。
比较好的做法是,直接用代码实现居中,不写死坐标值
var len:int = list.length;
var spaceNum:int = len - 1;
len = len>4?4:len;
var _w:int = item.width*len + spaceNum*list.spaceX;
list.x = (576 - _w)/2;
//4为每一行需要显示的item数量,576为项目统一规定的width尺寸(不同的开发项目,值可能不一样,根据具体项目赋值即可)
############2019-3-11再次编辑##################
更精简更通用的list居中代码
//每一行允许同时显示在界面的最大item数量
var maxCell:int = 5;
var len:int = list.arrat.length>=maxCell?maxCell:list.array.length;
var spaceNum:int = len - 1;
//containe为list的直接父容器,item为list用于渲染的cell
list.x = container.x + (container.width - (len*item.width + spaceNum*list.spaceX))/2;
下面直接上封装好的接口