2012-04-19 15 views
11

Tengo un RelativeLayout para una fila que va dentro de un ListView. La fila se parece,margen inferior o relleno no funciona en el diseño relativo en xml en 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> 

también probé con margen:

<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"> 

no se aplicarán al margen o relleno alrededor del ImageView. ¿Cómo se crea este tipo de espaciado?

+0

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

+0

Y también deshacerse del 'RelativeLayout' si los elementos de su lista van a ser representados por una sola vista. –

Respuesta

5

que pueda use esto su trabajo conmigo:

<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> 

Espero que esto ayude.

+0

¿Por qué android: layout_marginTop funciona y android: paddingTop no? – user2512888

0

que sugerimos utilizar LinearLayout ... O puede tratar de quitar el atributo: android:layout_alignParentLeft="true"

Si desea centrar la vista en un RelativeLayout puede utilizar:

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

android: layout_centerInParent = "true" hace ambas cosas de una vez :) – vm204

2

Para cualquier otra persona que esté buscando una solución a este - a partir de los documentos:

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

"Tenga en cuenta que no se puede tener una dependencia circular entre el tamaño de la RelativeLayout y la posición de sus hijos . Por ejemplo, no puede tener un RelativeLayout cuya altura esté configurada en WRAP_CONTENT y un elemento secundario configurado en ALIGN_PARENT_BOTTOM. "

También parece que hay un comportamiento extraño si coloca una Vista relativa dentro de una vista de desplazamiento.

En mi caso, establecí el relativeLayout en wrap_content y luego intenté agregar marginBottom a un ImageView con el atributo ALIGN_PARENT_BOTTOM. Cuando establecí la altura explícitamente, finalmente funcionó.

Cuestiones relacionadas