android:缩放位图以适应imageview

android:缩放位图以适应imageview,android,bitmap,scale,Android,Bitmap,Scale,我正在从画廊/相机中获取位图,并尝试适应大小为200 dp*200 dp的图像视图 我不得不缩放位图以解决内存不足的问题。现在,缩放后的图像并不完全适合imageview 宽度很好,但高度只有一半。是否有一种方法可以使位图适合imageview,而无需更改imageview的大小和设置图像 fitxy可以,但图像已拉伸。 我遵循了我认为您需要创建新位图以适应ImageView的大小,并且您必须按比例创建新位图,就像它的高度一样,宽度必须与高度的比例相同,然后您需要在那里设置位图。另一种方式是给予

我正在从画廊/相机中获取位图,并尝试适应大小为200 dp*200 dp的图像视图

我不得不缩放位图以解决内存不足的问题。现在,缩放后的图像并不完全适合imageview

宽度很好,但高度只有一半。是否有一种方法可以使位图适合imageview,而无需更改imageview的大小和设置图像

fitxy可以,但图像已拉伸。
我遵循了

我认为您需要创建新位图以适应ImageView的大小,并且您必须按比例创建新位图,就像它的高度一样,宽度必须与高度的比例相同,然后您需要在那里设置位图。另一种方式是给予

android:adjustViewBounds="true"

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

如果您正在寻找使用xml的解决方案,我创建了一个选择器,并将我的imageView背景指定给该选择器:

android:background="@drawable/image_selector"
在我的选择器中,我设置了一个位图项目,并将其重力设置为
“fill”



尝试将scaleType设置为centrecrop。将图像设置为固定的宽度和高度将始终影响纵横比。您可以设置宽度或高度以保持纵横比。是否创建了新的btmap?
<?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>