Нижнее поле или отступы не работают в относительной компоновке в xml на андроиде
У меня есть RelativeLayout
для строки, которая находится внутри ListView
. Строка выглядит так:
<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>
Я также попробовал его с полем:
<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">
Не применяйте маржу или дополнение к ImageView
. Как создать такой тип интервала?
Ответы
Ответ 1
вы можете использовать эту работу со мной:
<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>
надеюсь, что это поможет.
Ответ 2
Для всех, кто ищет решение этого - из документов:
http://developer.android.com/reference/android/widget/RelativeLayout.html
"Обратите внимание, что вы не можете иметь круговую зависимость между размером RelativeLayout и положением своих детей. Например, вы не можете иметь RelativeLayout, высота которого установлена на WRAP_CONTENT, а дочерний элемент установлен на ALIGN_PARENT_BOTTOM."
Похоже, что существует некоторое нечетное поведение, если вы помещаете relativeView внутри прокрутки.
В моем случае я установил relativeLayout для wrap_content, а затем попытался добавить marginBottom в ImageView с атрибутом ALIGN_PARENT_BOTTOM. Когда я задал высоту явно, она наконец-то сработала.
Ответ 3
Я предлагаю вам использовать LinearLayout... Или вы можете попытаться удалить атрибут: android:layout_alignParentLeft="true"
Если вы хотите центрировать представление в RelativeLayout, вы можете использовать:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"