将视图置于图像视图的前方 - Android XML

时间:2016-01-30 15:39:28

标签: android xml android-layout

我对其中一项活动的布局存在一些问题。这是我现在拥有的:

enter image description here

如您所见,绿色圆圈位于标题图像下方,即使它应在顶部重叠。此外,正如您所看到的,圆圈右侧的文字位于标题图像的下方,即使它应位于下方的单行上。

这是我目前的XML(我已经排除了无关的内容):

<ScrollView
    android:id="@+id/scroll"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

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

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="135dp"
            android:id="@+id/headerImageView"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true" android:layout_alignParentLeft="true"
            android:scaleType="centerCrop"
            android:adjustViewBounds="false"
            android:background="@drawable/header_image_test" />

        <Button
            android:layout_width="49dp"
            android:layout_height="49dp"
            android:layout_alignBottom="@id/headerImageView"
            android:layout_alignRight="@id/headerImageView"
            android:layout_marginRight="8dp"
            android:layout_marginBottom="8dp"
            android:background="@drawable/star"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/headerImageView"
            android:orientation="horizontal"
            android:id="@+id/main_details_layout">

            <TextView
                android:id="@+id/waitTimeTextView"
                android:layout_width="90dp"
                android:layout_height="90dp"
                android:text="@string/wait_time_default"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="16dp"
                android:gravity="center"
                android:background="@drawable/color0"
                android:textColor="#FFFFFF"
                android:layout_marginTop="-30dp"
                android:textSize="30dp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="60dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="0.7"
                    android:text="Attraction Name"
                    android:textSize="23dp"
                    android:layout_marginRight="8dp"
                    android:gravity="bottom"
                    android:lines="1"
                    android:id="@+id/attractionNameTextView"/>

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:text="Last Updated"
                    android:textSize="16dp"
                    android:layout_marginRight="8dp"
                    android:gravity="bottom"
                    android:id="@+id/updatedTextView"/>
            </LinearLayout>
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

对于文本,我尝试将行数强制为1,特别是设置高度,但似乎都没有效果。另外,对于圆圈,我尝试在代码中将它打到前面,但它会弄乱布局。

任何人都有任何改变建议吗?

1 个答案:

答案 0 :(得分:1)

您的布局错误。试试这个:

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

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="135dp"
        android:id="@+id/headerImageView"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" android:layout_alignParentLeft="true"
        android:scaleType="centerCrop"
        android:adjustViewBounds="false"
        android:background="@drawable/header_image_test" />

    <Button
        android:layout_width="49dp"
        android:layout_height="49dp"
        android:layout_alignBottom="@id/headerImageView"
        android:layout_alignRight="@id/headerImageView"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        android:background="@drawable/star"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/headerImageView"
        android:orientation="horizontal"
        android:layout_marginTop="-30dp"
        android:id="@+id/main_details_layout">

        <TextView
            android:id="@+id/waitTimeTextView"
            android:layout_width="90dp"
            android:layout_height="90dp"
            android:text="@string/wait_time_default"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="16dp"
            android:gravity="center"
            android:background="@drawable/color0"
            android:textColor="#FFFFFF"
            android:textSize="30dp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_marginTop="30dp"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.7"
                android:text="Attraction Name"
                android:textSize="23dp"
                android:layout_marginRight="8dp"
                android:gravity="bottom"
                android:lines="1"
                android:id="@+id/attractionNameTextView"/>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="Last Updated"
                android:textSize="16dp"
                android:layout_marginRight="8dp"
                android:gravity="bottom"
                android:id="@+id/updatedTextView"/>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>