将android背景设置为中心裁剪,但右对齐?

时间:2012-05-10 16:07:31

标签: android image

我有一个背景图片,我想1)填充垂直空间,无论图像的宽度是否大于父级的宽度,2)将图像的右边缘与右边缘对齐父母。

目前scaleType =“centerCrop”给我(1)但不给(2);它使图像水平居中。有谁知道如何让它正确对齐?谢谢!

编辑:尝试在相对布局和图片视图中添加android:layout_alignParentRight =“true”,但没有效果。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_gravity="center" >

    <ImageView android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop"
    android:src="@drawable/bg"/>

    <LinearLayout
    android:id="@+id/fg"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

        ...

3 个答案:

答案 0 :(得分:1)

您可以使用

 android:layout_alignParentRight="true"

用于Imageview

答案 1 :(得分:0)

添加这些属性

    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"


    <ImageView
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:scaleType="centerCrop"
        android:src="@drawable/backg_carbon" >
    </ImageView>

答案 2 :(得分:0)

我认为你的问题是,视图不会调整到实际图像的大小,并且由于某种原因填满了宽度。最好的办法是检查是否设置 android:adjustViewBounds为真有帮助(当然,重力是正确的)。

<ImageView android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:adjustViewBounds="true"          //This is the added line.
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop"
    android:src="@drawable/bg"/>