最近在学RCP,发现GridLayout布局虽然用的最多,但是初用起来感到非常不适应,经常出现错位、窜行等问题,查了一下资料,发现GridLayout除了本身的一些属性用于控制总体布局以外,要想很好的控制容器中的每个组件,需要用到GridData,现记录GridData属性如下:
horizontalSpan: 设置组件占用的列数;
HORIZONTAL_ALIGN_FILL: 对齐式占满,即横向占满组件所在的“格”;
FILL_HORIZONTAL:水平抢占式占满,即指组件会占满水平方向上所有的空闲空间;
FILL_BOTH:相当于——FILL_HORIZONTAL+FILL_VERTICAL;
horizontalAlignment:设置组件水平对齐方式;
horizontalIndent:是组件向右移动指定长度,前提是horizontalAlignment为默认值。
grabExcessHorizontalSpace:这两个属性主要用在Text、List中,效果为当组件所在容器大小变化时,组建在水平方向占用的空间也会自动增大或减小,但同一行上其他组件的大小会保持不变,要注意的是改变的是占用空间的大小,而不是组件本身的大小;
widthHint:组件的宽度,但前提是不与GridLayout的其它设置相貌度;