Android - Cambiar tamaño de un RelativeLayout programaticamente.

   
Vista:

Cambiar tamaño de un RelativeLayout programaticamente.

Publicado por Daniel (1 intervención) el 15/06/2016 23:32:06
Buenas noches compañeros,

Soy nuevo en el foro y estoy buscando ayuda con un problemilla que me esta pasando al cargar un fragmento sobre un RelativeLayout.

Os explico, este RelativeLayout que en principio tiene un height y with a 0dp, se encuentra oculto tras el contenido principal. Al cargar un fragmento en dicho Relative cambio estas propiedades a MATCH_PARENT ocupando así todo el espacio del View padre.

Este es el código...
1
2
3
4
5
6
7
8
9
if(Build.VERSION.SDK_INT<=19){//versiones <=4.4
	contenidoFragment.getLayoutParams().height=RelativeLayout.LayoutParams.FILL_PARENT;
	contenidoFragment.getLayoutParams().width=RelativeLayout.LayoutParams.FILL_PARENT;
 
}//fin if
else{//Versiones >5.1
	contenidoFragment.getLayoutParams().height=RelativeLayout.LayoutParams.MATCH_PARENT;
	contenidoFragment.getLayoutParams().width=RelativeLayout.LayoutParams.MATCH_PARENT;
}//fin else

Por lo que veis lo he separado por versiones para hacer pruebas porque a partir de la versión 5.1 de Android me funciona perfectamente, se hace el cambio de tamaño y cargo sin problemas el fragmento.

Ahora, en versiones anteriores como la 4.4 no ocurre nada. No me deja cambiar el tamaño, no aparece, aunque haciendo debug si me aparece como -1 el width y el height que es como si estuviera en MATCH_PARENT.

Alguien sabe por que puede ser? No se que puede pasar o si tengo que modificar alguna propiedad mas.

Gracias por vuestra ayuda de antemano!

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cambiar tamaño de un RelativeLayout programaticamente.

Publicado por Yamil Bracho (68 intervenciones) el 19/06/2016 05:11:22
Prueba con esto a ver ...
LayoutParams params = contenidoFragment.getLayoutParams();
params.height = RelativeLayout.LayoutParams.MATCH_PARENT;
params.width = RelativeLayout.LayoutParams.MATCH_PARENT;
contenidoFragment.etLayoutParams(params);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar