4

我正在 Android 上创建一个活动。我想在其中显示背景图像。我将 ImageView 放入我的主 RelativeLayout。

<RelativeLayout
    android:id="@+id/relativeLayoutMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/bgImage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:src="@drawable/bg4"
        android:scaleType="centerCrop" />
</RelativeLayout>

它使视图像这样。

在此处输入图像描述

我需要这样看 在此处输入图像描述

我该怎么做?

4

4 回答 4

8

尝试设置 ImageView 属性ScaleType=fitEnd

于 2013-07-23T11:28:11.407 回答
1

使用此代码。它可以根据需要提供输出。
代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:id="@+id/relativeLayoutMain"
        android:layout_width="150dp"
        android:background="@android:color/background_dark"
        android:layout_height="150dp" >

        <ImageView
            android:id="@+id/bgImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_launcher" />
    </RelativeLayout>

</RelativeLayout>

如果你给 imageview 宽度填充父项的一个建议,那么它会根据主容器包含整个空间。好运

于 2013-07-23T12:31:00.330 回答
0

Set the android:background="@drawable/bg4" in the RelativeLayout like that:

The whole XML should look like that:

<RelativeLayout
    android:id="@+id/relativeLayoutMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:background="@drawable/bg4
    android:orientation="vertical" >
</RelativeLayout>
于 2013-07-23T11:21:23.207 回答
0

首先,我认为 xml 中存在一些问题:

RelativeLayout 不使用方向,您应该删除它

这是您的完整 xml 文件吗?如果是这样,那么RelativeLayout 中的alignParentLeft 不会做任何事情,因为如果它的父级是RelativeLayout,这是您使用的属性。

fill_parent 是 match_parent 的弃用名称,您应该使用它。

我还相信您拥有的代码会将图像居中放置在屏幕上,将任何大的东西均匀地放在两侧,而不是您所说的那样。

如果你只想要一个背景,你可以android:background="@drawable/bg4"在 RelativeLayout 中使用

编辑:将 ImageView 的 layoutparams 更改为 wrap_content 高度和宽度,并一起删除 scaleType 可能会使它像你想要的那样。

于 2013-07-23T11:24:08.697 回答