2011-10-10 9 views
14

Ho questo codiceSi gonfia la vista senza il margine

View item = View.inflate(context, R.layout.item_layout, null); 
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
         LayoutParams.WRAP_CONTENT); 
    layout.addView(item, params); 

mia item_layout: (notare l'androide parte: layout_marginTop = "2dip")

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" android:layout_marginTop="2dip" android:layout_width="fill_parent"> 

    <ImageView android:src="@drawable/pic_unknown" android:id="@+id/image1" 
     android:layout_height="50dip" android:layout_width="50dip" 
     android:padding="5dip"></ImageView> 
</RelativeLayout> 

e poi nel mio layout vedo la lista di articoli gonfiati ma senza margine tra loro. Ho provato con margintop = 10dip ancora niente succede il mio punto è che il valore che ho inserito nel layout non è preso nel calcolo con o senza margine superiore il layout è lo stesso.

Come posso aggiungere dello spazio vuoto tra gli articoli? Come posso gonfiare uno spazio vuoto tra gli articoli? E 'possibile gonfiare qualcosa come gap o spazio? o devo usare soluzione come gonfiare un po 'il layout vuoto con altezza 2dip o qualcosa Grazie

risposta

19

L'ultimo parametro del metodo gonfia è il parametro a cui si aggiunge la vista gonfiato. Nel tuo caso è null. Prova invece:

View item = View.inflate(context, R.layout.item_layout, layout); 
+0

Buon Consiglio. è attachToRoot. –

+10

Il problema che ho è che sto gonfiando un 'View' per collegarlo a un' ListView' come intestazione; se uso il 'ListView' nell'inflazione lancia un'eccezione. Come ottengo i margini in questa istanza? –

+0

qual è il layout? –

3

Prova a sovrapporre il RelativeLayout se i tuoi margini si applicano all'esterno.

0

È possibile aggiungere margini per il layout che si gonfiato come di seguito:

final LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 
                       ViewGroup.LayoutParams.WRAP_CONTENT); 
     params.topMargin = 10;