1 概述

开发中经常使用Imageview的src和background属性,从字面上看src是路径,background是背景。二者都可以显示drawable或者颜色。设置drawable图片资源时,会有所不同。

2 android:background属性

若background设置的是图片:

  • 如果宽或高设置为match_parent或者固定值,那么该图片会被拉伸以填满整个ImageView区域。
  • 如果宽或高设置为wrap_content,那么图片按照自身大小显示,不会被拉伸。

代码设置background:

  • image.setBackground(getResources().getDrawable(R.drawable.blackk));
  • image.setBackgroundResource(R.drawable.blackk);
  • image.setBackgroundDrawable(getResources().getDrawable(R.drawable.blackk));

以上方法调用的都是setBackgroudDrawable()。

3 android:src属性

设置为颜色时表现同backgroud属性,设置为图片时,表现受到imageview的大小和scaleType的影响。当没有设置scaleType时,默认使用FIT_CENTER。

scaleType的几种表现形式:

center:不缩放,按照原图显示,且与imageview居中对齐。不推荐

centerCrop:保持宽高比进行缩放,直到原图宽或者高都大于ImageView宽高时,从居中部分截取图片填充ImageView。使得图片完全覆盖ImageView。图片可能显示不全。不推荐

centerInside:保持宽高比进行缩放,直到原图宽或者高都小于ImageView宽高时,从居中部分截取图片填充ImageView。使得Imageview完全显示该图片

fitStart:保持宽高比,完全填充x方向或者y方向。同时与ImageView的左边和上边对齐。

fitEnd:保持宽高比,完全填充x方向或者y方向。同时与ImageView的右边和下边对齐。

fitCenter:保持宽高比,完全填充x方向或者y方向,缩放完成显示在ImageView中央。图片可能不完全填充ImageView。当图片小于Imageview宽高时,会有放大填充效果。默认使用fitCenter

fitXY:该属性会在X,Y轴上分别进行缩放,使图片完全填充Imageview。类似background属性。

matrix:可以实现一些图像变换,暂不研究

4 总结

使用android:src 为ImageView设置内容。设置了src属性时,其内容的填充方式可以通过android:scaleType方式设置。

当图片宽高大于imageview时,推荐使用:fitCenter, centerInside。

当图片宽高小于imageview时,推荐使用: centerInside。

最新文章

  1. Java: some learning note for Java calssloader and Servlet
  2. 一个事务复制的bug--更新丢失 续
  3. 20145304 《Java程序设计》课程总结
  4. Java 多线程间的通讯
  5. JMeter笔记3:聚合报告之90%Line参数说明
  6. Linux编程学习笔记 -- Process
  7. ios registerNib: and registerClass:
  8. 使用python实现最优化问题
  9. Android 5.0 Lollipop初上手体验
  10. iOS用心学 UI基础之UIView
  11. wiki oi 3115高精度练习之减法
  12. jmeter笔记(8)--关联
  13. Python全栈之路----函数进阶----迭代器
  14. Leetcode 125.验证回文串 By Python
  15. spring对事务的配置
  16. FCN 32分析:
  17. Python实现C代码统计工具(二)
  18. 跟着未名学Office - 高效工作Outlook
  19. KVM虚拟机管理——虚拟机创建和操作系统安装
  20. VS中出现“链接器工具错误,XXX工具模块对于SAFESEH映像是不安全的”的解决方法

热门文章

  1. linux:输入/输出、重定向、管道
  2. ThinkPHP关联模型如何关联非主键
  3. 吴恩达深度学习:2.1Logistic Regression逻辑回归及其损失函数
  4. Ubuntu 16.04安装N卡驱动、cuda、cudnn和tensorflow GPU版
  5. 机器学习分类算法之K近邻(K-Nearest Neighbor)
  6. 基于ldap+sentry+rbac的hive数据库权限测试
  7. python 导入模块、包
  8. C#基础知识之正则表达式
  9. 点击链接跳转到QQ的情况; qq交谈
  10. python的setup.py文件