Android позиционирование просмотров в RelativeLayout - PullRequest
1 голос
/ 22 мая 2011

У меня следующая иерархия представлений:

enter image description here

Я хочу, чтобы ScrollView с вложенным RelativeLayout находился междуlativeHeader иlativeFooter, , потому что теперь он перекрывается нижним колонтитулом .Но когда я пытаюсь добавить android: layout_above = "@ id /lativeFooter", я получаю сообщение об ошибке, что такого представления нет.Возможно, в том, что я делаю, есть что-то смешное.И все это "вложенные относительные" вещи.Но как я могу достичь своей цели?Вот xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <RelativeLayout
    android:id="@+id/relativeHeader"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:orientation="horizontal">
    <ImageView
      android:id="@+id/imgMainLogo"
      android:layout_centerVertical="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
    />
     <Button
      android:id="@+id/btnShort"
      android:text="@string/btnShortRemove_title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentRight="true"
    />
  </RelativeLayout>
   <ScrollView
    android:id="@+id/scrollContent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/relativeHeader"
    android:paddingBottom="5dp">
  <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >
    <TextView
       android:id="@+id/tvDetailedTitle"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textSize="20sp"
    />
    <TextView
       android:paddingTop="5dp"
       android:id="@+id/tvDetailedPrice"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@id/tvDetailedTitle"
    />
    <TextView
       android:paddingTop="5dp"
       android:id="@+id/tvDetailedPhoneTitle"
       android:gravity="center_vertical"
       android:layout_width="fill_parent"
       android:layout_height="22dp"
       android:layout_below="@id/tvDetailedPrice"
    />
    <TextView
       android:paddingLeft="5dp"
       android:paddingTop="5dp"
       android:id="@+id/tvDetailedPhone"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@id/tvDetailedPhoneTitle"
    />
    <TextView
       android:paddingTop="5dp"
       android:id="@+id/tvDetailedDescriptionTitle"
       android:gravity="center_vertical"
       android:layout_width="fill_parent"
       android:layout_height="22dp"
       android:layout_below="@id/tvDetailedPhone"
    />
    <TextView
       android:paddingTop="5dp"
       android:paddingLeft="5dp"
       android:layout_below="@id/tvDetailedDescriptionTitle"
       android:id="@+id/tvDetailedDescription"
       android:text="Description"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
     />
     <Gallery 
       android:id="@+id/gallery"
       android:layout_below="@+id/tvDetailedDescription"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:paddingTop="5dp"
     />
 </RelativeLayout>
 </ScrollView>
   <RelativeLayout
    android:id="@+id/relativeFooter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:background="#716D69"
    >
    <Button
      android:id="@+id/btnDetailedEmail"
      android:text="@string/btnDetailedEmail_title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:width="120dp"
    />
     <Button
      android:id="@+id/btnDetailedCall"
      android:text="@string/btnDetailedCall_title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentRight="true"
      android:width="120dp"
    />
    </RelativeLayout>

</RelativeLayout>

1 Ответ

3 голосов
/ 22 мая 2011
<RelativeLayout
    android:id="@id/relativeFooter"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:background="#716D69"
    >

Удалите «+» из android:id="@id/relativeFooter", как указано выше, и сделайте это

<ScrollView
    android:id="@+id/scrollContent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/relativeHeader"
    android:layout_above="@+id/relativeFooter"
    android:paddingBottom="5dp">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...