Android - 底部的相对布局图像

时间:2016-10-13 06:24:24

标签: android android-layout

我该如何解决这个问题。我希望图像的一半在最顶层的内部。

实际上:

enter image description here

Xml代码:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="250dp"
android:gravity="center_horizontal">

<ImageView
    android:id="@+id/category_image"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:src="@drawable/gmaps_image_test"
    android:scaleType="centerCrop"/>


<ImageView
    android:layout_width="match_parent"
    android:layout_gravity="bottom"
    android:layout_height="50dp"
    android:src="@drawable/ic_comment_coffee"
    android:layout_alignBottom="@id/category_image"
    android:layout_alignParentStart="true" />

这就是我无法做到的..是否有任何遗嘱缺失?

我的输出:

enter image description here

4 个答案:

答案 0 :(得分:0)

android:layout_marginBottom="-20dp"

尝试使用负值的保证金。

答案 1 :(得分:0)

更改布局:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="275dp"
android:gravity="center_horizontal">

<ImageView
    android:id="@+id/category_image"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:src="@drawable/gmaps_image_test"
    android:scaleType="centerCrop"/>


<ImageView
    android:layout_width="match_parent"
    android:layout_gravity="bottom"
    android:layout_height="50dp"
    android:src="@drawable/ic_comment_coffee"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true" />
</RelativeLayout>

有些事情发生了变化: relativeLayout 275dp的layout_height

android:layout_height="275dp"

和第二个ImageView。

android:layout_alignParentBottom="true"

答案 2 :(得分:0)

将您的主RelativeLayout高度设为275dp,并为ImageView提供一定的保证金。

以这种方式添加

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="275dp"
android:gravity="center_horizontal">

<ImageView
    android:id="@+id/category_image"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:src="@drawable/gmaps_image_test"
    android:scaleType="centerCrop"/>


<ImageView
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:src="@drawable/ic_comment_coffee"
    android:layout_below="@+id/category_image"
    android:layout_marginTop="-25dp"/>

答案 3 :(得分:0)

使用负边距会在处理不同的屏幕尺寸时陷入困境,最好选择协调器布局,它有一个名为 layout_anchor 的东西,可以锚定你想要附加的内容,你可以指定位置的 layout_anchorGravity

<android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

        <ImageView
        android:id="@+id/category_image"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:src="@drawable/gmaps_image_test"
        android:scaleType="centerCrop"/>

        <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_comment_coffee"
        app:layout_anchor="@id/category_image"
        app:layout_anchorGravity="bottom|center"/>

    </android.support.design.widget.CoordinatorLayout>