RelativeLayout背景可绘制重叠内容

时间:2015-05-11 12:06:38

标签: android android-layout android-background

我有一个9-patch drawable(date_time)。我想将此drawable放在Relative Layout内容后面,因此所有子视图都应该在此图像的顶部绘制。 这是xml布局:

<RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="23dp"
            android:layout_below="@id/tv_map_address"
            android:layout_marginTop="11dp"
            android:layout_marginBottom="12dp"
            android:background="@drawable/date_time">

            <ImageView
                android:id="@+id/iv_map_distance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_map_distance"/>

            <TextView
                android:id="@+id/tv_map_distance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@id/iv_map_distance"
                android:layout_centerVertical="true"
                android:textColor="@color/white"
                android:textSize="11sp"
                android:text="2,7 км"
                fontPath="fonts/Roboto-Medium.ttf"/>

            <ImageView
                android:id="@+id/iv_map_path"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@id/tv_map_distance"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_map_path"/>

            <TextView
                android:id="@+id/tv_map_path"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@id/iv_map_path"
                android:layout_centerVertical="true"
                android:textColor="@color/white"
                android:textSize="11sp"
                android:text="3,2 км"
                fontPath="fonts/Roboto-Medium.ttf"/>

        </RelativeLayout>

但不知何故,这个背景与所有儿童内容重叠。 这里显示了正在发生的事情。

Overlapping content

但如果我替换

android:background="@drawable/date_time"

android:background="#0000FF"

一切都很好,下一步是输出:

enter image description here

你能解释一下我做错了吗?

更新: 这是我的9-patch drawable。

enter image description here

1 个答案:

答案 0 :(得分:3)

正如我认为你的内容指标不正确(除非你想用你的9补丁引入这样的内容填充)。试试这个:

9-patch

右侧和底部指南,确定您的内容应占用drawable的哪个部分(或多少)。您已将此区域设置为非常小的空间,并设置Layout的固定高度。换句话说:9-patch强迫你的Layout让它的孩子只占据你视野的一小部分区域(受到你的Layout伸展不受限制。)