Android:缩放位图以适应ImageView

6
我正在从相册/相机获取位图,并尝试将其适配到大小为200dp * 200dp的图像视图中。
我不得不缩放位图以解决内存问题。现在,在缩放图像后,它并没有完全适配图像视图。
宽度很好,但高度只有一半。是否有一种方法可以使位图适配图像视图,而不改变图像视图的大小并且不拉伸图像。
fitxy会拉伸图像。我遵循了this answer

尝试将scaleType设置为centrecrop。 - amit singh
将图像设置为固定的宽度和高度将总是影响其纵横比。您可以设置宽度或高度中的任意一个,以保持其纵横比。 - Spring Breaker
2个回答

0

如果你正在寻找一个使用XML的解决方案,我创建了一个选择器并将我的imageView背景分配给它:

android:background="@drawable/image_selector"

在我的选择器中,我设置了一个位图项并将其重力设置为"fill"
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

   <item>
       <bitmap android:gravity="fill"
               android:src="@drawable/kitchen_background"/>
   </item>


</selector>

0

我认为你需要创建一个新的位图来适应ImageView的大小,并且必须按比例创建新的位图,例如无论高度如何,宽度必须与高度相同比例,然后你需要在那里设置该位图。另一种方法是给予:

android:adjustViewBounds="true"

它将自动按比例缩放图像。


你是否已经创建了新的位图? - Pratik Dasa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接