我有布局:
<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>
实际结果是:
但我需要这样的东西:
问题在于黄色徽章android:id="@+id/credit"
。
我需要将它放在之前空间的图像之上。
我试图以编程方式设置bringToFront();
,但没有任何反应。
此外,我还尝试使用layout_below
layout_above
属性。
问题出在哪里?无论如何,谢谢!
答案 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(父母的中心)