关于对齐,其实能说很多。它的对齐方式太复杂,不是一句两句就能说清的。
就比如labelfield可以直接靠右对齐,而其它的又不行,碰到这种情况,那么只能自己写自己的manager来控制各个部件的位置了。
群里好几个星期都有人问这个manager里的对齐到底怎么设置,回答了自定义,重写layout也很多遍了,可能有些人还是不怎么明白,
那么这一篇就让大家彻底的明白明白吧。
如上图,左边是labelfield,右边是editfield,如果直接套用HorizontalFieldManager,我想是做不出这个效果的,我没有试过,不知道哪位高手能够实现。
但是通过重写layout,很容易的可以实现这个对齐方式。
class MyHorizontalFieldManager extends HorizontalFieldManager
{
private EditField myedit;
private LabelField mylabel;
public MyHorizontalFieldManager(LabelField l1, EditField e1) {
super();
mylabel = l1;
myedit = e1;
LabelField leftlabel = mylabel;
add(leftlabel);