2010-08-18 8 views
7

Comment modifier dynamiquement l'arrière-plan LinearLayout?Modifier dynamiquement l'arrière-plan LinearLayout

+0

De quelle façon? Qu'est-ce que vous cherchez à changer? –

+0

Si vous changez la position du téléphone pour changer d'écran horizontalement ou verticalement. – user413881

+0

Vous auriez dû préciser votre situation dans votre post bizon, cela nous aurait aidé à vous répondre. regarde le commentaire de kcoppock, ça devrait t'aider. – Sephy

Répondre

15

Avez-vous essayé un de ces:

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

et si ne rafraîchissez pas lui-même, cela devrait donner un coup de pouce:

yourLayout.invalidate(); 
+0

Essayé pas une fois, ne fonctionne pas – user413881

11

Je suis au travail en ce moment, donc Je ne peux pas tester cela, mais je crois que cela devrait fonctionner:

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

Ne fonctionne pas :(. – user413881

+0

Bizon, à partir de votre commentaire, essayez-vous de passer à une autre mise en page lorsque le téléphone est en mode paysage par rapport au mode portrait? Si oui, vous devriez faire un nouveau fichier layout.xml, et placez-le sous res/layout-land/ http://developer.android.com/guide/topics/resources/index.html – kcoppock

+0

setBackgroundColor (...) est une méthode entière. – Confuse

Questions connexes