一个RelativeLayout高于另一个

时间:2016-09-16 15:54:44

标签: android

我有布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="@color/text_color"
              android:minHeight="285dp"
              android:orientation="vertical">


    <RelativeLayout
        android:id="@+id/credit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="-30dp">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/bonus_badge"/>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="6dp"
            android:text="Get"
            android:textColor="@color/black"
            android:textSize="12sp"/>
        <!-- don't change this layout view order -->
        <TextView
            android:id="@+id/amount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="18dp"
            android:text="$1xxx"
            android:textColor="@color/black"
            android:textSize="14sp"
            android:textStyle="bold"/>

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp">

        <ImageView
            android:id="@+id/image"
            android:layout_width="162dp"
            android:layout_height="112dp"
            android:adjustViewBounds="true"
            android:src="@drawable/test_image"/>


        <ImageView
            android:id="@+id/topFlag"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:background="@drawable/sold_out"
            android:visibility="gone"/>

        <ImageView
            android:id="@+id/waitListFlag"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/join_wait_list"
            android:visibility="gone"/>
    </RelativeLayout>

    <TextView
        android:id="@+id/options"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="Options"
        android:textColor="@color/unactive_color"
        android:textSize="14sp"/>


    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:ellipsize="end"
        android:maxHeight="80dp"
        android:maxLines="3"
        android:minHeight="40dp"
        android:minLines="3"
        android:text="name"
        android:textColor="@color/dark_cyan"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/oldPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="old price"
        android:textColor="@color/unactive_color"
        android:textSize="14sp"/>

    <TextView
        android:id="@+id/newPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="new price"
        android:textColor="@color/price_black"
        android:textSize="22sp"/>

    <TextView
        android:id="@+id/Save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="save"
        android:textColor="@color/unactive_color"
        android:textSize="14sp"/>

    <View
        android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:layout_marginTop="10dp"
        android:background="@color/divider_color_product"/>


</LinearLayout>

实际结果是:

enter image description here

但我需要这样的东西:

enter image description here

问题在于黄色徽章android:id="@+id/credit"

我需要将它放在之前空间的图像之上。

我试图以编程方式设置bringToFront();,但没有任何反应。

此外,我还尝试使用layout_below layout_above属性。

问题出在哪里?无论如何,谢谢!

2 个答案:

答案 0 :(得分:1)

似乎第二个RelativeLayout是大图像,第一个是标记。所以我修改下面的xml,希望这是你想要的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/text_color"
    android:minHeight="285dp"
    android:orientation="vertical">

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp">

            <ImageView
                android:id="@+id/image"
                android:layout_width="162dp"
                android:layout_height="112dp"
                android:adjustViewBounds="true"
                android:src="@drawable/test_image" />


            <ImageView
                android:id="@+id/topFlag"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:background="@drawable/sold_out"
                android:visibility="gone" />

            <ImageView
                android:id="@+id/waitListFlag"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:src="@drawable/join_wait_list"
                android:visibility="gone" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/credit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:src="@drawable/bonus_badge" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="6dp"
                android:text="Get"
                android:textColor="@color/black"
                android:textSize="12sp" />
            <!-- don't change this layout view order -->
            <TextView
                android:id="@+id/amount"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="18dp"
                android:text="$1xxx"
                android:textColor="@color/black"
                android:textSize="14sp"
                android:textStyle="bold" />

        </RelativeLayout>


    </FrameLayout>

    <TextView
        android:id="@+id/options"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="Options"
        android:textColor="@color/unactive_color"
        android:textSize="14sp" />


    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:ellipsize="end"
        android:maxHeight="80dp"
        android:maxLines="3"
        android:minHeight="40dp"
        android:minLines="3"
        android:text="name"
        android:textColor="@color/dark_cyan"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/oldPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="old price"
        android:textColor="@color/unactive_color"
        android:textSize="14sp" />

    <TextView
        android:id="@+id/newPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="new price"
        android:textColor="@color/price_black"
        android:textSize="22sp" />

    <TextView
        android:id="@+id/Save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginStart="8dp"
        android:text="save"
        android:textColor="@color/unactive_color"
        android:textSize="14sp" />

    <View
        android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="1px"
        android:layout_marginTop="10dp"
        android:background="@color/divider_color_product" />


</LinearLayout>

答案 1 :(得分:0)

创建你的父亲relativelayout,然后你想要的内容,为了获得叠加效果,你应该知道打击布局出现在上面的透视布局

- RelativeLayout的             |             --------- ImageView的             |             --------- Relativelayout(让它alignParentTop)                         |                         ------ ImageView的                         |                         ------ TextView(父母的中心)

相关问题