2010-08-18 22 views
7

Cómo cambiar dinámicamente el fondo LinearLayout?Cambia dinámicamente el fondo LinearLayout

+0

¿De qué manera? ¿Qué estás buscando cambiar? –

+0

Si cambia la posición del teléfono para cambiar su pantalla horizontal o verticalmente. – user413881

+0

Debería haber especificado su situación en su publicación bizon, eso nos hubiera ayudado a responderle. mira el comentario de Kcoppock, debería ayudarte. – Sephy

Respuesta

15

¿Usted intentó uno de estos:

yourLayout.setBackgroundColor(int color); 
yourLayout.setBackgroundDrawable(Drawable d); 
yourLayout.setBackgroundResource(int resid); 

y si no se actualiza por sí solo, esto debe darle un impulso:

yourLayout.invalidate(); 
+0

Probado no una vez, no funciona – user413881

11

estoy en el trabajo en este momento, por lo No puedo probar esto, pero creo que esto debería funcionar:

LinearLayout linLay = (LinearLayout) findViewById(R.id.theLinearLayoutId); 

//set background to a color 
linLay.setBackgroundColor(Color.parseColor("#404040")); 

//set background to a drawable 
linLay.setBackgroundDrawable(drawableItem); 

//set background to a resource 
linLay.setBackgroundResource(R.id.backgroundResource); 
+1

No funciona :(. – user413881

+0

Bizon, de su comentario, ¿está tratando de cambiar a un diseño diferente cuando el teléfono cambia al modo horizontal versus modo retrato? Si es así, debe hacer un nuevo archivo layout.xml y colóquelo en res/layout-land/ http://developer.android.com/guide/topics/resources/index.html – kcoppock

+0

setBackgroundColor (...) es un método entero. No se puede pasar una cadena de un argumento de cadena. – Confuse

Cuestiones relacionadas