2012-04-19 14 views
11

Ho una RelativeLayout per una riga che va dentro un ListView. La riga assomiglia,margine inferiore o imbottitura non funziona nella disposizione relativa in XML su android

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/placeDetailIcon_Img" 
     android:layout_height="50dp" 
     android:layout_width="50dp" 
     android:layout_alignParentLeft="true" 
     android:paddingBottom="20dp" 
     android:paddingTop="20dp" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp"/> 
</RelativeLayout> 

ho anche provato con margine:

<ImageView 
    android:layout_height="50dp" 
    android:layout_width="50dp" 
    android:id="@+id/placeDetailIcon_Img" 
    android:layout_alignParentLeft="true" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginBottom="10dp"> 

Né diffusa margine o padding intorno al ImageView. Come si crea questo tipo di spaziatura?

+0

RelativeLayout 'android: layout_height =" wrap_content "'? – zapl

+0

Eliminando anche il 'RelativeLayout' se gli elementi della lista saranno rappresentati da una sola vista. –

risposta

5

è possibile utilizzare questo il suo lavoro con me:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="15dp" 
     android:layout_marginTop="15dp" /> 

</RelativeLayout> 

spero che questo aiuti.

+0

perché Android: layout_marginTop funziona e android: paddingTop no? – user2512888

0

suggerisco di utilizzare LinearLayout ... Oppure si può provare a rimuovere l'attributo: android:layout_alignParentLeft="true"

Se si vuole centrare la vista in un RelativeLayout è possibile utilizzare:

android:layout_centerHorizontal="true" 
android:layout_centerVertical="true" 
+2

android: layout_centerInParent = "true" fa entrambi quelli in una volta :) – vm204

2

Per chiunque altro che sta cercando una soluzione a questo - dalla documentazione:

http://developer.android.com/reference/android/widget/RelativeLayout.html

"Si noti che non si può avere una dipendenza circolare tra le dimensioni del RelativeLayout e la posizione dei suoi figli Ad esempio, non puoi avere un RelativeLayout la cui altezza è impostata su WRAP_CONTENT e un figlio impostato su ALIGN_PARENT_BOTTOM. "

Sembra inoltre che ci sia qualche comportamento strano se si mette un relativeView all'interno di una ScrollView.

Nel mio caso ho impostato il relativoLayout su wrap_content e poi ho provato ad aggiungere marginBottom a un ImageView con l'attributo ALIGN_PARENT_BOTTOM. Quando ho impostato l'altezza in modo esplicito, ha finalmente funzionato.

Problemi correlati