2012-04-19 5 views
11

Ich habe eine RelativeLayout für eine Zeile, die in einem ListView geht. Die Zeile sieht aus wie,unteren Rand oder Padding funktioniert nicht im relativen Layout in Xml auf 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> 

Ich versuchte es auch mit margin:

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

Weder die Marge oder padding um die ImageView gelten. Wie erstelle ich diese Art von Abstand?

+0

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

+0

Und entfernen Sie auch das 'RelativeLayout', wenn Ihre Listenelemente nur durch eine Ansicht dargestellt werden. –

Antwort

5

können Sie Verwenden Sie dies seine Arbeit mit mir:

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

hoffe das hilft.

+0

Warum funktioniert android: layout_marginTop und android: paddingTop nicht? – user2512888

0

Ich schlage vor, Sie verwenden ... Linearlayout Oder Sie können versuchen, das Attribut zu entfernen: android:layout_alignParentLeft="true"

Wenn Sie die Ansicht in einem RelativeLayout zentrieren möchten können Sie:

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

android: layout_centerInParent = "true" macht beides auf einmal :) – vm204

2

Für alle anderen, die für eine Lösung dieses Problems sucht - von der Dokumentation:

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

„Beachten Sie, dass Sie nicht eine zirkuläre Abhängigkeit zwischen der Größe der RelativeLayout und die Position seiner Kinder haben Zum Beispiel können Sie kein RelativeLayout haben, dessen Höhe auf WRAP_CONTENT und ein Kind auf ALIGN_PARENT_BOTTOM gesetzt ist. "

Es scheint auch, dass es etwas seltsames Verhalten gibt, wenn Sie eine relativeView innerhalb einer Scrollview setzen.

In meinem Fall hatte ich RelativeLayout auf wrap_content gesetzt und dann versucht, marginBottom zu einem ImageView mit dem ALIGN_PARENT_BOTTOM Attribut hinzuzufügen. Als ich die Höhe explizit eingestellt habe, hat es endlich funktioniert.

Verwandte Themen