¿Es posible al crear un RelativeLayout en tiempo de ejecución establecer el equivalente de android:layout_below
programáticamente?
203
¿Es posible al crear un RelativeLayout en tiempo de ejecución establecer el equivalente de android:layout_below
programáticamente?
Si:
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 la altura y el ancho. El addRule
método agrega el equivalente del xml correctamente android:layout_below
. Luego solo invocas View#setLayoutParams
la vista que deseas tener esos parámetros.
Alternativamente, puede usar los parámetros de diseño actuales de las vistas y modificarlos:
fuente
LayoutParams
lugar de crear otros nuevos. De hecho, esto debe ser aceptado como la respuesta correcta.Si bien la respuesta @jackofallcode es correcta, se puede escribir en una línea:
fuente
LayoutParams
para configurarlossetLayoutParams
Versión Kotlin con función infija
Entonces puedes escribir:
O puede llamarlo como una función normal:
fuente