代码大致如下:
LinearLayout table=new LinearLayout(this);
table.setHorizontalGravity(LinearLayout.VERTICAL);
LinearLayout.LayoutParams param=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout tr;
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
lp.gravity=Gravity.CENTER_VERTICAL;
在一个view数组里做循环
一行开始
tr=new LinearLayout(this);
tr.setHorizontalGravity(LinearLayout.HORIZONTAL);
如果一行只有一个view则
lp.width=LinearLayout.LayoutParams.FILL_PARENT;
v.setLayoutParams(lp);
tr.addView(v);
否则
lp.width=自定义的一个宽度值;
v.setLayoutParams(lp);
tr.addView(v);
一行结束
table.addView(tr,param);只显示第一个view,且占据整行,其余的不知道是不显示,还是不可见
我的想法是最外层是一个线性布局,竖向的,其中每一行是一个线性布局,是横向的,每一行中包行若干个view,各个view有定义好的长度,每个view紧挨着显示,且一行中每一个view竖向居中显示,该怎么做?头都被搞大了,有没有从布局生成XML布局代码的工具?
用tr.addView(tr,lp)也不行