我的图像比我希望装入的容器小。我希望图像能够伸展,保持纵横比,以达到最大可能的尺寸。如何在保持纵横比的同时尽可能大地制作图像
为了说明这个问题:
<ImageView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/thumbnail"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
的ImageView
上述将被拉伸以填充所述容器的宽度。它包含的@drawable
也将沿着x轴拉伸以适应完美的宽度ImageView
。然而,问题在于,标记为wrap_content
的尺寸(在此情况下为高度)保持与@drawable
的初始高度相同。
我已阅读有关ScaleType here的文档,但无法在其中找到答案。
下面的图像描述了上面的代码:
Current behaviour Desired Behaviour
编辑
一种ImageView
给出scaleType="fitCenter"
将准确地扩大/收缩@drawable
它里面生长尽可能大地保留它的宽高比。
ImageView
s尺寸是在以任何方式缩放@drawable
之前定义的。尺寸不受其包含的缩放影响@drawable
。
对我来说,这是一个常见的问题,我从来没有找到一个干净的解决方案。为一个框架添加背景9补丁,更糟的是尝试修复。我非常肯定这是你必须以编程方式完成的事情,但如果有人有解决方案,这将是很好的。 – kcoppock
对于一个完全描述的问题+1 + – Merlin