首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ImageView中缩放图像以保持纵横比

如何在ImageView中缩放图像以保持纵横比
EN

Stack Overflow用户
提问于 2010-03-26 16:41:16
回答 26查看 672.3K关注 0票数 569

在安卓系统中,我将ImageViewlayout_width定义为fill_parent (占手机的整个宽度)。

如果我上传到ImageView的图片比layout_width大,安卓系统会缩放它,对吧?但是高度呢?当Android缩放图像时,它会保持宽高比吗?

我发现,当安卓缩放比ImageView更大的图像时,ImageView的顶部和底部会有一些空白。这是真的吗?如果是,我如何消除那个空格?

EN

回答 26

Stack Overflow用户

回答已采纳

发布于 2010-03-26 23:07:27

  1. 是的,默认情况下,安卓会缩小你的图像以适应ImageView,保持宽高比。但是,请确保使用android:src="..."而不是android:background="..."将图像设置为ImageView。src=使其在保持纵横比的情况下缩放图像,但background=使其缩放和扭曲图像以使其完全适合ImageView的大小。(不过,您可以同时使用背景和源,这对于仅使用一个ImageView在主图像周围显示帧之类的事情很有用。)

  1. 你还应该看到android:adjustViewBounds让ImageView调整自己的大小以适应缩放后的图像。例如,如果您有一个通常为正方形ImageView的矩形图像,adjustViewBounds=true会将其调整为矩形的ImageView大小。这会影响其他视图在ImageView中的布局。

然后,正如萨姆赫所写的,你可以使用android:scaleType参数来改变它默认缩放图像的方式。顺便说一句,要发现这是如何工作的,最简单的方法就是自己试验一下!只需记住查看模拟器本身(或实际的电话)中的布局,因为Eclipse中的预览通常是错误的。

票数 852
EN

Stack Overflow用户

发布于 2010-07-08 20:08:07

参见android:adjustViewBounds

如果您希望ImageView调整其边界以保持其可绘制的纵横比,则

将此参数设置为true。

票数 302
EN

Stack Overflow用户

发布于 2011-05-27 02:45:04

任何其他有这个特殊问题的人。您有一个希望宽度为fill_parent、高度按比例缩放的ImageView

将这两个属性添加到ImageView

代码语言:javascript
复制
android:adjustViewBounds="true"
android:scaleType="centerCrop"

并将ImageView的宽度设置为fill_parent,将高度设置为wrap_content

另外,如果你不想让你的图片被裁剪,试试这个:

代码语言:javascript
复制
 android:adjustViewBounds="true"
 android:layout_centerInParent="true"
票数 191
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2521959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档