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。

ImageView的src与background及ScaleType的更多相关文章

  1. ImageView的src和background的区别

    参考资料: http://blog.csdn.net/dalleny/article/details/14048375 http://www.android100.org/html/201508/27 ...

  2. 【android】ImageView的src和background的区别以及两者的妙用

    一.ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 .src是图片内 ...

  3. 【android】ImageView的src和background以及两者之间的神奇的差异

    一.ImageView中XML属性src和background的差别: background会依据ImageView组件给定的长宽进行拉伸.而src就存放的是原图的大小,不会进行拉伸.src是图片内容 ...

  4. Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

  5. ImageView中XML属性src和background的区别

    background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸. src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对sr ...

  6. 【Android 界面效果32】ImageView中XML属性src和background的区别

    background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸. src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对sr ...

  7. android imageview使用的时候 引用资源src和background的区别

    android imageview使用的时候 引用资源时src和background的区别 src更强调内容并且不行拉伸图片进行适配,而background更注重引用图片,会对图片进行拉伸

  8. [android界面]android中src和background区别——前景与背景

    ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前 ...

  9. android中src和background区别

    background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src ...

随机推荐

  1. 6.float类型 和 char 类型

    float32  float64 package main import "fmt" func main() { var xxx float32 var xxxx float64 ...

  2. 什么场景下用redis而不用mysql?

    redis我们用作缓存,对查询速度要求比较高的应用场景比较适合.对有复杂逻辑关系的存储不适合. mysql是硬盘存储的,在高性能io要求的项目里不能满足需求,而redis所有数据存在内存里,因此要快得 ...

  3. 动态规划(股票交易)---只能进行 k 次的股票交易

    只能进行 k 次的股票交易 188. Best Time to Buy and Sell Stock IV (Hard) 题目描述:   只能进行K次股票交易,求能获得的最大利润 思路分析:   和只 ...

  4. php strpos() 函数介绍与使用方法详解

    本文主要和大家介绍PHP中mb_strpos的使用技巧,通过使用语法以及实例给大家详细分析了用法,需要的朋友参考学习下.希望能帮助到大家.mb_strpos(PHP 4 >= 4.0.6, PH ...

  5. Java全排列递归算法

    Java全排列算法: 第一遍循环:将list数组index==0的元素依次与数组的每个元素交换,从而保证index==0的位置先后出现n个不同元素之一,实现对index==0位置的遍历. 第 i 遍循 ...

  6. MySQL中Innodb的聚簇索引和非聚簇索引

    聚簇索引 数据库表的索引从数据存储方式上可以分为聚簇索引和非聚簇索引(又叫二级索引)两种.Innodb的聚簇索引在同一个B-Tree中保存了索引列和具体的数据,在聚簇索引中,实际的数据保存在叶子页中, ...

  7. C功能模块集锦

    1. offsetof #include <stddef.h> size_t offsetof(type, member); The macro offsetof() returns th ...

  8. 16 | “order by”是怎么工作的? 学习记录

    <MySQL实战45讲>16 | “order by”是怎么工作的? 学习记录http://naotu.baidu.com/file/0be0e0acdf751def1c0ce66215e ...

  9. 前端每日实战:16# 视频演示如何用纯 CSS 创作一个渐变色动画边框

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/odpRKX 可交互视频教程 此视频 ...

  10. 花式赋值、列表、字典、解压缩、input()、格式化学习笔记

    目录 花式赋值 列表(list) 字典(dict) 解压缩 input()与用户交互 格式化的三种方式 f_String格式化(important) %s.%d占位符 format 格式化(不常用) ...