我的目标layout由固定数目的button,EditText和数目不定的TextView组成。这些动态的TextView依次往下排列。
我现在的做法是,将动态生成的TextView通过ViewGroup的addView方法添加到界面上去。
问题是:我没找到控制动态添加的TextView位置的方法,添加的View都重叠在左上角。addView的方法中,那些参数貌似都是控制大小和前后层次的。
请问如何控制动态添加的View的上下左右,这些相对位置?
------解决方案--------------------
linearLayout有设置layoutparam的方法,你只要指定orientation为vertical就可以了,自动从上往下排列。根据你addview的顺序排列
------解决方案--------------------
我也是新手,但是我还是有一些思路。如果是在ViewGroup中添加一些View的话,是不是在onLayout()中要自己写一些代码,设置Child View的位置。用 child的 layout()函数与 measure()函数可以设置每一个child的位置大小吧,当然这些是用手动调的。如楼主自己说,如果用一个嵌套的ViewGroup的类即RelativeLayout的话,那样更方便吧~~
------解决方案--------------------
我举一个用relative的例子~:
RelativeLayout r = new RelativeLayout(this);
r.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,RelativeLayout.LayoutParams.WRAP_CONTENT));
即就是用LayoutParams啦~