studio linearlayout layout_below ejemplos constraint bottom below android android-layout relativelayout

android - linearlayout - relativelayout layout params



¿Puedo configurar "android: layout_below" en tiempo de ejecución, programáticamente? (3)

¿Es posible al crear un diseño relativo en tiempo de ejecución, establecer el equivalente de android:layout_below programáticamente?


Alternativamente, puede usar los parámetros de diseño actuales de las vistas y modificarlos:

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams(); params.addRule(RelativeLayout.BELOW, R.id.below_id);


Sí:

RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.BELOW, R.id.below_id); viewToLayout.setLayoutParams(params);

Primero, el código crea un nuevo diseño de parámetros especificando el alto y el ancho. El método addRule agrega el equivalente de xml correctamente a android:layout_below . Luego, simplemente llama a View#setLayoutParams en la vista que desea que tenga esos parámetros.


Si bien la respuesta de @jackofallcode es correcta, se puede escribir en una línea:

((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);