3

我有一个背景图像,我想 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" >

        ...
4

3 回答 3

1

您可以使用

 android:layout_alignParentRight="true"

对于图像视图

于 2012-05-10T16:14:06.720 回答
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>
于 2012-05-10T16:15:57.083 回答
0

我认为您的问题是 viewbounds 没有调整到实际图像的大小并由于某种原因填满了宽度。最好的办法是检查设置 android:adjustViewBounds为 true 是否有帮助(当然重力向右)。

<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"/>
于 2018-05-08T14:24:35.833 回答