ฉันพยายามที่จะบรรลุโปรแกรมต่อไปนี้ (แทนที่จะประกาศผ่าน XML):
<RelativeLayout...>
<TextView ...
android:id="@+id/label1" />
<TextView ...
android:id="@+id/label2"
android:layout_below: "@id/label1" />
</RelativeLayout>
ในคำอื่น ๆ ฉันจะทำให้ที่สองTextView
ปรากฏอยู่ด้านล่างหนึ่งคนแรก แต่ฉันต้องการที่จะทำในรหัส:
RelativeLayout layout = new RelativeLayout(this);
TextView label1 = new TextView(this);
TextView label2 = new TextView(this);
...
layout.addView(label1);
layout.addView(label2);
setContentView(layout);
ปรับปรุง:
ขอบคุณ TreeUK ฉันเข้าใจทิศทางทั่วไป แต่ก็ยังใช้งานไม่ได้ - "B" ทับ "A" ผมทำอะไรผิดหรือเปล่า?
RelativeLayout layout = new RelativeLayout(this);
TextView tv1 = new TextView(this);
tv1.setText("A");
TextView tv2 = new TextView(this);
tv2.setText("B");
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.RIGHT_OF, tv1.getId());
layout.addView(tv1);
layout.addView(tv2, lp);