2012-01-17 15 views
26

Nella mia applicazione, avevo usato linearlayout, all'interno del quale ho 3 elementi EditText. Ora voglio aumentare lo spazio (padding) tra l'elemento Edittext. È possibile?come aumentare lo spazio tra gli elementi in linearlayout in Android?

+0

solo far notare, la risposta corretta è l'accettato dalla "In Android, come ...", ma uno [che si propone di utilizzare divisore ] (http://stackoverflow.com/a/18538656/923340) in quanto ti dà un posto dove applicare lo spazio a qualsiasi numero di bambini. –

risposta

38

È necessario impostare il margine di layout come qui di seguito, nel EditText in file XML

android:layout_marginLeft="5dp" 

si può fare per marginTop inferiore, destro e sinistro, dipende dal vostro requisito. È necessario specificarlo sugli elementi di layout, non sul layout stesso.

differenza tra imbottitura e Margine: - Padding sono collegati spazio vista interna e il margine è lo spazio esterno vista o spazio tra le due viste,

se lo spazio richiesto esterno vista in qualsiasi direzione, può essere raggiunto come indicato sopra. e se lo spazio richiesto su tutti i lati della vista frazioni indicati tag può essere utile

android:layout_margin="5dp"

+1

Grazie mille .. Mi sono davvero meravigliato del tuo Entusiasmo :) – Thiru

+2

un'altra cosa, quello che hai chiesto era MARGIN, il riempimento è uno spazio di testo nell'editoriale stesso. come se tu dica padding_left in edit text, inizierà un po 'di spazio prima di scrivere del testo in esso .. se la mia risposta mi ha aiutato ad accettarlo. – AAnkit

+0

È una cattiva pratica aggiungere il codice della piastra della caldaia. Dovresti utilizzare un tema o un blandibile drawable come divisorio –

13

Per invia Margine tra campi possono assegnare in quattro direzioni.

android:layout_margin="10dp"

si può anche usare per chi segue direzioni diverse ..

android:layout_marginLeft = "10dp"

android:layout_marginRight = "10dp"

android:layout_marginTop = "10dp"

android:layout_marginBottom = "10dp"

+1

Grazie mille :) – Thiru

+0

'10dp' da dove proviene? –

+0

@YoushaAleayoub è solo una distanza fissa che ho mantenuto. – SilentKiller

6

solo aggiungere che si può cambiare dinamicamente troppo

int left = 6; 
int top = 12; 
int right = 6; 
int bottom = 6; 

TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(left, top, right, bottom); 

EditText edXY = new EditText(inventory.this); 
edXY.setLayoutParams(params); 
+0

Grazie mille :) – Thiru

43

Fondamentalmente questo è relativo al confine, se si desidera aggiungere lo spazio tra gli elementi all'interno del confine (vale a dire avere i bordi che toccano), dovresti usare la proprietà padding.

Se si desidera aggiungere lo spazio al di fuori dei bordi (avere i bordi separati) è necessario utilizzare la proprietà del margine.

Controllare questa immagine a scopo illustrativo: non

enter image description here

+0

incredibile !!!! Che spiegazione chiara – Thiru

+0

bel modo per capire il margine e l'esempio di riempimento per i più freschi che dicono veramente !!! – duggu

+0

Una buona immagine, ma vorrei anche rimuovere un bordo nero attorno al contenuto e l'ultimo bordo nero. – Zon

Problemi correlati