[译]Android|[译]Android ImageView ScaleType(图解)
如果你跟我一样追求美观界面,同时又非常健忘。当谈到ImageView
缩放图片时,偏偏就把各种ScaleType
的展示效果给忘了。所以你花了10~15分钟把每种效果都编译运行一遍看每种效果的异同。不久之后,这个循环又将发生一遍。
下面展示不同ScaleType
的效果。接着是官方文档的解释,最后是一点有用的提醒。
文章图片
scaletype.png Scale Types
完整的官方解释Android documentation.
【[译]Android|[译]Android ImageView ScaleType(图解)】CENTER
放中间,不拉伸。
CENTER_CROP
均匀拉伸(保持宽高比),宽高>=ImageView
的宽高
CENTER_INSIDE
均匀拉伸(保持宽高比),宽高<=ImageView
的宽高
FIT_CENTER
用Matrix.ScaleToFit.CENTER
来拉伸图片。
Matrix.ScaleToFit.CENTER
:等比缩放,确保原图会整个放在View内,宽高至少有一个适配容器宽高,居中显示。
FIT_END
用Matrix.ScaleToFit.END
来拉伸图片。
Matrix.ScaleToFit.END
:同上,底部显示。
FIT_START
用Matrix.ScaleToFit.START
来拉伸图片。
Matrix.ScaleToFit.START
:同上,头部显示。
FIT_XY
用Matrix.ScaleToFit.FILL
来拉伸图片。
Matrix.ScaleToFit.FILL:原图完全填充容器,可能会改变宽高比。
MATRIX
用Matrix
旋转图片
调整边界
ImageView.ScaleType
并不是万金油。如果你注意到赋值了CENTER_INSIDE
, FIT_CENTER
, FIT_END
和FIT_START
的ImageView
的实际边界往往都比缩放后的图片要大。如果要设置ImageView
的宽高于缩放后的图片一致,在xml中添加
android:adjustViewBounds="true”
结果
文章图片
adjustviewbounds
推荐阅读
- ShareSDK Android端权限说明
- Easy3D|VS2019编译配置Easy3D
- Android中Activity的工作过程(一)
- Android实现简单手机震动效果
- Android|Android 图片保存到相册不显示的解决方案(兼容Android 10及更高版本)
- Android开发实战闹钟项目
- Android直播播放器+弹幕使用总结
- [转]GitHub|[转]GitHub Android Libraries Top 100 简介
- Google|Google Code页面内容的翻译
- 第一行代码Android(第3版).pdf下载