Desidero aggiungere tre layout lineari a un'attività in modo programmatico ciascuno della stessa larghezza. il problema è che non sono in grado di impostare i pesi di questi layout a livello di codice. Potrei farlo in xml, ma voglio farlo in programma. qui è quello che voglio: Peso layout lineare Android a livello di programmazione
24
A
risposta
38
Ecco la sua soluzione
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, 100);
lp.weight = 1;
See Soluzione completa
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
Usa new LinearLayout.LayoutParams(int width, int height, float weight)
per impostare i pesi durante l'impostazione params layout per le subviews
2
In questo modo ..
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
Puoi farlo impostando la proprietà peso layout per i vostri singoli layout lineare, passarlo in LinearLayout - LayoutParams costruttore:
LinearLayout.LayoutParams param = new LinearLayout.LayoutParam(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT, 1);
o
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
0,
LayoutParams.MATCH_PARENT, 1);
Spero che può aiutare!
Problemi correlati
- 1. Ad ogni modo per animare a livello di programmazione le proprietà di peso del layout lineare
- 2. layout lineare Altezza e peso
- 3. peso annidato in layout lineare
- 4. Android Layout peso programmaticamente
- 5. Rimuovere il layout a livello di programmazione
- 6. Modifica layout widget a livello di programmazione
- 7. Android: l'impostazione del parametro Peso a livello di programmazione fa l'opposto di quello che voglio
- 8. Android view layout_width - come cambiare a livello di programmazione?
- 9. Android: aggiungi due viste di testo a livello di programmazione
- 10. Android vuoto Contenuto layout lineare
- 11. Devo gonfiare un layout o crearlo a livello di programmazione?
- 12. Android: Layout lineare nuova linea
- 13. Set peso (percentuale) di programmazione
- 14. Modifica del layout relativo a livello di programmazione
- 15. Pulsante Aggiungi a un layout a livello di programmazione
- 16. Avviso layout di base lineare su Android
- 17. Imposta larghezza di layout figlio a livello di programmazione in ANDROID?
- 18. Impostazione android: animateLayoutChanges a livello di programmazione
- 19. Android: Come impostare la dimensione di un layout a livello di programmazione
- 20. Android: aggiunta di pulsanti a un layout a livello di programmazione
- 21. .NET MVC 3 Layout a livello di programmazione
- 22. Ridimensionamento dei layout a livello di programmazione (come animazione)
- 23. centraggio ProgressBar livello di programmazione in Android
- 24. layout lineare con due pulsanti affiancati - android
- 25. Progettazione GUI Qt a livello di programmazione
- 26. Adattatore spinner e array Android a livello di programmazione
- 27. Android- come criptare a livello di programmazione una vista tra le viste nel layout precaricato dall'XML?
- 28. Creare pulsanti Android a livello di programmazione utilizzando il layout XML come modello
- 29. Android - Come acquisire gli screenshot a livello di programmazione
- 30. Android - Come posso specificare il peso a livello di codice per un RelativeLayout?
Ha funzionato come un fascino, grazie per la risposta rapida. Tuttavia ho dovuto modificarlo un po 'come questo >> LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams (0, LayoutParams.WRAP_CONTENT); \t \t \t \t lp.weight = 1; – Bhaijaan