98 votos

Puedo establecer "android:layout_below" en tiempo de ejecución, mediante programación?

Es posible que a la hora de crear un pariente de diseño en tiempo de ejecución, para establecer el equivalente a android:layout_below mediante programación?

262voto

Qberticus Puntos 20157

Sí:

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT);

p.addRule(RelativeLayout.BELOW, R.id.below_id);

viewToLayout.setLayoutParams(p);

Primero, el código crea un nuevo diseño de parámetros mediante la especificación de la altura y la anchura. La addRule método agrega el equivalente de la xml propery android:layout_below. A continuación, sólo llame View#setLayoutParams en la vista que desea tener esos parámetros.

51voto

jackofallcode Puntos 106

Alternativamente, usted puede utilizar los puntos de vista actuales de diseño de parámetros y modificarlos:

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

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X