He estado buscando en todas partes una respuesta a esta pregunta. Soy nuevo en Android e intento agregar elementos a un diseño relativo programáticamente a través de java en lugar de xml. Creé una clase de prueba para probarla, pero los elementos siguen apilando en lugar de formatearlos correctamente. Simplemente quiero una TextView debajo de la otra por ahora (con el tiempo voy a utilizar la izquierda y derecha de los parámetros pero estoy empezando sencilla. ¿Qué me falta?Agregando elementos de forma programada a un diseño relativo
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);};
Gracias, en realidad era RelativeLayout.Below, pero lo suficientemente cerca. El problema con hacer xml es que eventualmente esto se completará desde una base de datos externa. – user597436