【问题标题】:How can I place a relative layout above a relative layout that's on the bottom of the main layout which is a custom listview?如何将相对布局放置在作为自定义列表视图的主布局底部的相对布局之上?
【发布时间】:2012-09-05 12:34:07
【问题描述】:

我有一个主布局,底部有一个相对布局。当我尝试在此相对布局(id:relativelayout)上方放置相对布局(id:rl)时,它不会显示。但是当我在底部添加边距时,它会出现在列表视图中每个项目的顶部。这是我的 xml。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
    android:id="@+id/image"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</ImageView>

<TextView
    android:id="@+id/amount"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_marginRight="16dp"
    android:layout_marginTop="16dp"
    android:background="#669900"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />




<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/rl"
   android:layout_above="@+id/relativelayout"
    android:layout_marginBottom="2dp" >

    <TextView
        android:id="@+id/pass_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="16dp"
        android:background="#669900"
        android:padding="5dp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/discount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="16dp"
        android:background="#FF8800"
        android:padding="5dp" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/relativelayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"

            android:layout_alignParentBottom="true"
    android:background="#0099CC" >     <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="4dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/locality"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="16dp"
        android:layout_marginTop="12dp"
        android:textColor="#FFFFFF" />
</RelativeLayout>

【问题讨论】:

  • 请完善您的问题,以便其他人容易理解。我们说的是哪个 RelativeLayout?

标签: android android-layout android-listview android-relativelayout


【解决方案1】:

请提供屏幕截图或粗略图片,以便我了解您实际想要显示的内容.....您也可以尝试将重力赋予第一个相对布局为PARENT_BOTTOM,然后再赋予另一个相对将参数布局为LAYOUT_ABOVE= "ID OF THE FIRST LAYOUT"

【讨论】:

  • 如何将重力设置为 PARENT_ABOVE?
  • 对不起我的打字错误....我编辑了答案....如果对您有帮助,请点击我的答案...
  • 我就是这么做的,看看我的 xml。
  • 我尝试将您的代码放入 XML 中,我发现您的背景为“#0099CC”的相对布局位于底部...所以您的第一个条件 req 已完成....然后当我删除您的边距...它仍然在您的相对布局上方(id:relativelayout)请再次检查您的图形布局...
  • 如何判断“rl”不在“relativelayout”之上请提供截图
【解决方案2】:

将您的布局更改为:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ImageView>

    <TextView
        android:id="@+id/amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="16dp"
        android:layout_marginTop="16dp"
        android:background="#669900"
        android:padding="5dp"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <RelativeLayout
        android:id="@+id/relativelayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="#0099CC" >

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="4dp"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#FFFFFF"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/locality"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="16dp"
            android:layout_marginTop="12dp"
            android:textColor="#FFFFFF" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/relativelayout"
        android:layout_marginBottom="2dp" >

        <TextView
            android:id="@+id/pass_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="16dp"
            android:background="#669900"
            android:padding="5dp"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/discount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="16dp"
            android:background="#FF8800"
            android:padding="5dp" />
    </RelativeLayout>

</RelativeLayout>

这就是你想要的?

【讨论】:

  • 我刚刚修复了您代码中的错误。但如果这不是你想要的,你必须更清楚地解释你到底想要什么
  • 仅供参考,我更改的是,当您使用 id 设置为参考时,不得使用“+”号。像这样 android:Layout_Above:"@id/relativelayout" 并在使用它作为参考之前先定义id
  • @archie.logic 我想将 relativelayout(rl) 放在 relativelayout(relativelayout) 上方
  • 它不起作用这是列表视图的每个子项的布局。它没有正确显示在列表中。
  • 您能否在问题中粘贴您所获得内容的屏幕截图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多