Je souhaite ajouter trois mises en page linéaires à une activité par programmation ayant chacune la même largeur. le problème est que je ne suis pas en mesure de définir les poids de ces mises en page par programme. Je pourrais faire ceci dans xml, mais je veux faire ceci dans le programme. voici ce que je veux: Poids de mise en page linéaire Android par programmation
24
A
Répondre
38
Voici sa solution
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100);
lp.weight = 1;
Voir Solution complète
LinearLayout ll1, ll2, ll3;
/* Find these LinearLayout by ID
i.e ll1=(LinearLayout)findViewById(R.id.ll1);
*/
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100);
lp.weight = 1;
ll1.setLayoutParams(lp);
ll2.setLayoutParams(lp);
ll3.setLayoutParams(lp);
5
Utilisez new LinearLayout.LayoutParams(int width, int height, float weight)
pour définir des poids lors de la mise disposition params aux sous-vues
2
Faites de cette façon ..
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtNote = (LinedEditText) findViewById(R.id.txtNote);
lnr = (LinearLayout) findViewById(R.id.lnr);
LinearLayout l1 = new LinearLayout(this);
LinearLayout l2 = new LinearLayout(this);
LinearLayout l3 = new LinearLayout(this);
l1.setBackgroundResource(android.R.color.holo_green_light);
l2.setBackgroundResource(android.R.color.holo_orange_dark);
l3.setBackgroundResource(android.R.color.holo_blue_bright);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT, 1);
lnr.addView(l1, param);
lnr.addView(l2, param);
lnr.addView(l3, param);
}
2
Vous pouvez le faire en définissant la propriété de poids de mise en page pour vos mises en page linéaires individuels, passer dans LinearLayout - constructeur de LayoutParams:
LinearLayout.LayoutParams param = new LinearLayout.LayoutParam(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, 1);
ou
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
0,
LayoutParams.MATCH_PARENT, 1);
L'espoir peut vous aider!
Questions connexes
- 1. Création d'une mise en page linéaire avec des poids
- 2. mise en page Android problème de poids
- 3. solution de mise en page linéaire Android
- 4. Android, troubles de la vue personnalisée classe poids de mise en page linéaire
- 5. Android, mise en page par programmation d'une vue de bouton?
- 6. Problème de poids avec mise en page
- 7. mise en page personnalisée du poids en utilisant Android
- 8. Poids imbriqués dans une mise en page
- 9. XML android scrollview et problème de mise en page linéaire
- 10. mise en page Android poids/max taille/conseil
- 11. Disposition linéaire et poids
- 12. Mise en page linéaire non visible/chevauchant
- 13. Paramètre de mise en page d'android par programmation
- 14. Mise en page dynamique dans l'application Android
- 15. Amène la mise en page linéaire 2 en dessous de la disposition linéaire 1
- 16. Poids de mise en page avec deux ListViews
- 17. Comment placer la mise en page relative au bas de l'écran (ou mise en page linéaire).?
- 18. Poids de ligne linéaire de linechart
- 19. Mise en page par programmation avec SetPadding et SetGravity
- 20. Problème de mise en page de l'ipad par programmation
- 21. Essayer de résoudre poids imbriqué problème dans la mise en page linéaire (éventuellement en utilisant la disposition relative)
- 22. Comment créer par programmation la mise en page d'un fragment?
- 23. créer des boutons par programmation sans mise en page respective
- 24. Ajouter TextViews à une mise en page par programmation XML
- 25. Créer un fichier de mise en page XML par programmation
- 26. problème de mise en page Android - largeurs relatives en pour cent en utilisant le poids
- 27. Mise en page relative ne fonctionne pas par programmation ajouté
- 28. Mise en page de sous-vues dans une mise en page par programmation
- 29. Android: Comment couvrir toute la mise en page par une vue par programmation alors que la mise en page contient déjà des boutons?
- 30. Android: créer par programmation des mises en page XML
A travaillé comme charme, merci pour une réponse rapide. Cependant j'ai dû le modifier un peu comme ceci >> LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams (0, LayoutParams.WRAP_CONTENT); \t \t \t \t lp.weight = 1; – Bhaijaan