RelativeLayout中的空白区域

时间:2015-09-30 19:58:47

标签: android android-layout android-imageview android-relativelayout

我尝试使用RelativeLayout将图像制作成另一个图像,但会出现不必要的空白区域。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#263238"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="12dp"
    android:paddingRight="12dp"
    android:paddingTop="12dp"
    android:gravity="top">

    <ImageView
        android:id="@+id/heroImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/test3"
        android:layout_alignParentTop="true"
        android:scaleType="fitStart" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/corner" />

</RelativeLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFF"
    android:id="@+id/linearlayout_hero">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hero Appearance"/>
</LinearLayout>

您可以在Wolverine和文字的图像之间看到它。

4 个答案:

答案 0 :(得分:3)

将此添加到您的ImageView

android:scaleType="fitStart"
android:adjustViewBounds="true"

答案 1 :(得分:0)

用此块替换底部线性布局

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="#FFF"
    android:id="@+id/linearlayout_hero">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hero Appearance"/>
</LinearLayout>

答案 2 :(得分:0)

您可以将LinearLayout放在RelativeLayout中,如下所示:

    <LinearLayout
        android:id="@+id/linearlayout_hero"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/heroImage"
        android:background="#FFF">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hero Appearance" />
    </LinearLayout>

答案 3 :(得分:0)

我想回答你的问题。

我认为这是因为你的图像(英雄/角落)底部有一个空白区域,因为宽度和宽度是一样的。 RelativeLayout的高度是换行内容,因此RelativeLayout适合图像。

请检查你的图片:)