Android ImageView缩放类型centerCrop

时间:2013-07-23 11:11:28

标签: java android android-layout

我在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>

它会像这样看。

enter image description here

我需要这样看 enter image description here

我该怎么做?

4 个答案:

答案 0 :(得分:8)

尝试设置ImageView属性ScaleType=fitEnd

答案 1 :(得分: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宽度填充父级,那么它根据主容器包含整个空间。 祝你好运

答案 2 :(得分:0)

android:background="@drawable/bg4"中设置RelativeLayout,就像那样:

整个XML看起来应该是这样的:

<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>

答案 3 :(得分:0)

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

RelativeLayout没有使用方向,你应该删除

这是你的完整xml文件吗?如果是这样,则RelativeLayout中的alignParentLeft不会执行任何操作,因为如果它的父级是RelativeLayout,那么这是您使用的属性。

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

我也相信你所拥有的代码会将图像置于屏幕中心,将两面均匀分布的东西放在两边,而不是你所说的那样。

如果您只想要背景,可以在RelativeLayout

中使用android:background="@drawable/bg4"

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