开发者

Android positioning views in RelativeLayout

I've got following view hierarchy:

Android positioning views in RelativeLayout

I want ScrollView with nested RelativeLayout to be between relativeHeader and relativeFooter, because now it's overlapped by footer. But when I try to add android:layout_above="@id/relativeFooter" I got error that there is no such view. There's probably something funny in what I'm doing. And all that 'nested relativelayouts' stuff. But how can I acomplish my goal? Here's 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>


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

Remove the "+" from the android:id="@id/relativeFooter" like above and do this

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜