Android图像缩放和对齐

时间:2010-11-11 14:10:54

标签: android android-layout

我正在尝试显示缩放图像,同时保留其宽高比,但同时将其对齐到底部。

使用android:scaleType =“FitXY”会导致图像垂直和水平居中,因此它不会与底部对齐。 使用“FitEnd”会使图像与右下角对齐,因此它不会水平居中。

有没有办法解决这个问题?也许使用一些矩阵来缩放它(scaleType =“matrix”)?

编辑:澄清我想要的东西......

我有一个ImageView,其布局(位置,大小,重力等)我无法改变。我想加载一个位图作为其源图像,但让该位图缩放到ImageView的大小(保留位图的宽高比),然后对齐到ImageView的底部。

编辑:在尝试了我能想到的一切(以及此处提出的所有内容)后,我们最终对onView进行了子类化,并在onDraw中自行进行缩放/翻译。

3 个答案:

答案 0 :(得分:1)

尝试使用android:scaleType="centerInside"代替fitXY


在Blrfl Labs应用程序中使用布局来缩放图像以适应布局给出的区域而不会影响宽高比:

    <ImageView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1.0"
            android:gravity="center"
            android:src="@drawable/blah_blah_blah"
            android:scaleType="centerInside"
            android:adjustViewBounds="false"
    />

答案 1 :(得分:1)

您可以使用

android:layout_centerHorizontal="true"
android:scaleType="fitEnd"

如果您的ImageView位于RelativeLayout内。

答案 2 :(得分:0)

未经测试,但请尝试添加:

android:layout_gravity="bottom|center_horizontal"

到你的ImageView以及FitXY缩放。