2011-01-27 13 views
7

Se si imposta solo margine per la mia visualizzazione di testo, ovvero all'interno del layout lineare, tutto funziona. Se imposto solo la gravità per la mia vista testo, funziona. Ma se imposto entrambi gli attributi (gravità e margini), la gravità rimane a sinistra con i margini impostati con successo.L'impostazione del margine e della gravità della visualizzazione di testo nel codice non funziona

Il mio codice per impostare entrambi gli attributi che non lavorare come previsto:

tv2=new TextView(this); 
tv2.setText("Text"); 
LinearLayout.LayoutParams para=new LinearLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
para.setMargins(0, 10, 0, 10); //left,top,right, bottom 
tv2.setLayoutParams(para); 
tv2.setGravity(android.view.Gravity.CENTER_HORIZONTAL); 

devo costruire il mio layout in codice, non è possibile utilizzare i file XML.

risposta

14

Provare a utilizzare questo, invece:

para.gravity = Gravity.CENTER_HORIZONTAL; 
tv2.setLayoutParams(para); 

//the below sets the view's content gravity, not the gravity 
//of the view itself. Since the width is wrap_content, this 
//has no effect. 
//tv2.setGravity(android.view.Gravity.CENTER_HORIZONTAL); 
+0

molto buona tizio ... – Siten

Problemi correlati