我一直在到处寻找这个问题的答案。我是 Android 新手,尝试通过 java 而不是 xml 以编程方式将项目添加到相对布局。我创建了一个测试类来尝试一下,但项目不断堆叠而不是正确格式化。我现在只想将一个 TextView 放在另一个下面(最终我将使用参数的左侧和右侧,但我从简单开始。我缺少什么?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView sv = new ScrollView(this);
RelativeLayout ll = new RelativeLayout(this);
ll.setId(99);
sv.addView(ll);
TextView tv = new TextView(this);
tv.setText("txt1");
tv.setId(1);
TextView tv2 = new TextView(this);
tv2.setText("txt2");
tv2.setId(2);
RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lay.addRule(RelativeLayout.ALIGN_PARENT_TOP);
ll.addView(tv, lay);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_BOTTOM, tv.getId());
ll.addView(tv2, p); this.setContentView(sv);};
p.addRule(RelativeLayout.ALIGN_BOTTOM, tv.getId());
这条线意味着 tv2 的底部与 tv 的底部对齐 - 换句话说,它们将相互覆盖。您想要的房产大概是RelativeLayout.BELOW
。不过,我强烈建议使用 xml 来代替。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)