Android ImageView图片自适应

网络上下载下来的图片自适应:android:adjustViewBounds="true"(其详细解释在下面)
<ImageView
    android:id="@+id/dynamic_item_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:layout_marginTop="5dip"
    android:adjustViewBounds="true"
    android:background="@drawable/imageview_background" />
另外,android:background="@drawable/imageview_background"是给图片加了一个边框,其中

imageview_background.xml:

<?xml version="1.0" encoding="utf-8"?> <shape  xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/white"/> <stroke android:width="2.0dip" android:color="#99D9D9D9" /> <corners android:radius="2.0dip" /> <padding android:left="5.0dip" android:top="5.0dip" android:right="5.0dip" android:bottom="5.0dip" /> </shape>

ImageView属性说明:

1、类概述

    显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

2、XML属

                  

属性名称

描述

android:adjustViewBounds

是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。

android:cropToPadding

是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效果如下,实现代码见代码部分:

 

 

android:maxHeight

设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:

1) 设置setAdjustViewBounds为true;

2) 设置maxWidth、MaxHeight;

3) 设置设置layout_width和layout_height为wrap_content。

android:maxWidth

设置View的最大宽度。同上。

android:scaleType

设置图片的填充方式。

matrix

0

用矩阵来绘图

 

fitXY

1

拉伸图片(不按比例)以填充View的宽高

 

layout_

height

:30px


layout_

width

:120px

fitStart

2

按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边

 

fitCenter

3

按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间

 

fitEnd

4

按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边

 

center

5

按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示

 

 

layout_

height

:60px


layout_

width

:80px


padding

:10px

 

centerCrop

6

按比例放大原图直至等于某边View的宽高显示。

 

centerInside

7

当原图宽高或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。

 

android:src

设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)

android:tint

将图片渲染成指定的颜色。见下图:

 左边为原图,右边为设置后的效果,见后面代码。

 

转载于:https://www.cnblogs.com/littlezan/p/3528050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

BytesIO StringIO操作的只能是str&#xff0c;如果要操作二进制数据&#xff0c;就需要使用BytesIO。BytesIO实现了在内存中读写bytes&#xff0c;我们创建一个BytesIO&#xff0c;然后写入一些bytes&#xff1a; 写入的不是str&#xff0c;而是经过UTF-8编码的bytes。 (1).参考…

都江堰很美-佩服古人_Crmhf的一天

地震遗迹&#xff1a;一条背街&#xff0c;损坏严重&#xff0c;基本没什么人。真正的水利工程&#xff0c;值得每个人学习&#xff1a;转载于:https://www.cnblogs.com/crmhf/p/3823157.html

爬虫的增量式抓取和数据更新

不管是产生新页面&#xff0c;还是原本的页面更新&#xff0c;这种变化都被称为增量&#xff0c; 而爬取过程则被称为增量爬取。那如何进行增量式的爬取工作呢&#xff1f;回想一下爬虫的工作流程&#xff1a; 发送URL请求 ----- 获得响应 ----- 解析内容 ----- 存储内容 我们…

Spring Data JPA初使用 *****重要********

Spring Data JPA初使用我们都知道Spring是一个非常优秀的JavaEE整合框架&#xff0c;它尽可能的减少我们开发的工作量和难度。在持久层的业务逻辑方面&#xff0c;Spring开源组织又给我们带来了同样优秀的Spring Data JPA。通常我们写持久层&#xff0c;都是先写一个接口&#…

flask-笔记

-super() 使用super()保留基模板中定义的原始内容 - link标签&#xff1a; 用来指定当前文档和外部资源的关系。它最常见的是用来链接样式表&#xff0c;也用来创建网站图标(既是网站图标样式也包括移动设备和app图标)。 -csrf: CSRF概念&#xff1a;CSRF跨站点请求伪造(…

MySQL 无法连接

Host localhost is not allowed to connect to this MySQL server 错误 解决办法&#xff1a; C:\Program Files\MySQL\MySQL Server 5.5\my.ini 在[mysqld]下加下面两行&#xff0c; skip-name-resolve skip-grant-tables 重启mysql的windows服务&#xff0c;在mysql命令行界面…

能让你少写1000行代码的20个正则表达式

参考: (1).http://www.codeceo.com/article/20-regular-expressions.html

http请求中的Query String Parameters、Form Data、Request Payload

参考: (1).(http请求参数之Query String Parameters、Form Data、Request Payload) - https://www.jianshu.com/p/c81ec1a547ad

蜜罐

http://www.projecthoneypot.org/home.php转载于:https://www.cnblogs.com/diyunpeng/p/3534507.html

php中json_decode返回数组或对象的实例

1.json_decode() json_decode (PHP 5 > 5.2.0, PECL json > 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json 待解码的 json string 格式的…

如何精通js

参考: (1.)https://www.zhihu.com/search?typecontent&q%E5%A6%82%E4%BD%95%E7%B2%BE%E9%80%9Ajs

程序员怎么样才能进入微软?

程序员怎么样才能进入微软&#xff1f; 程序员到微软中国总裁 “打工皇帝”长沙晒成功之道 程序员面试之道之走进微软 应该是西北大学的学生&#xff0c;距离我好近&#xff08;我也在西安&#xff09;&#xff0c;可是又好远&#xff08;人家拿到了MS的offer&#xff09;。 专…

python中的装饰器-(重复阅读)

---1--- 假设我们要增强某个函数的功能&#xff0c;比如&#xff0c;在函数调用前后自动打印日志&#xff0c;但又不希望修改某个函数的定义&#xff0c;这种在代码运行期间动态增加功能的方式&#xff0c;称之为“装饰器”&#xff08;Decorator). 装饰器本质上是一个Python…

[转帖]好技术领导,差技术领导

团队合作一个优秀的技术领导必然是团队的一份子&#xff0c;他们认为当整个团队成功时自己才称得上成功。他们不仅要做好繁杂和不讨好的本职工作&#xff0c;还要清除项目中的障碍&#xff0c;从而让整个团队能够以100%的效率运转起来。一个好的技术领导会努力拓宽团队在技术上…

python有哪些常用的库

参考: (1).https://www.zhihu.com/question/20501628/answer/19542741(Python 常用的标准库以及第三方库有哪些&#xff1f;)

C#打开文件对话框和文件夹对话框

打开文件对话框OpenFileDialog OpenFileDialog ofd new OpenFileDialog();ofd.Filter "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*";ofd.ValidateNames true;ofd.CheckPathExists true;ofd.CheckFileExists true;if (ofd.ShowDialog() DialogResult.O…

debian安装flash插件

$ sudo apt-get install flashplugin-nonfree 转载于:https://www.cnblogs.com/vipzrx/p/3554839.html

python中的拷贝

1.赋值: 只是复制了新对象的引用&#xff0c;不会开辟新的内存空间。 2.浅拷贝: 创建新对象&#xff0c;其内容是原对象的引用。 浅拷贝有三种形式&#xff1a;切片操作&#xff0c;工厂函数&#xff0c;copy模块中的copy函数。 如&#xff1a; lst [1,2,3,[4,5]] …

ZOJ 2112 Dynamic Rankings

这里是题目地址 其实就是带修改的区间第K大。 写了一下BIT套主席树&#xff0c;内存飞起&#xff0c;似乎需要特别的优化技巧 所以还是写了一下线段树套平衡树&#xff0c;跑了1s左右。 其实线段树套平衡树就是归并树的自然扩展而已。 归并树是把归并排序的过程建成一颗线段树…

python3[进阶]8.对象引用、可变性和垃圾回收

文章目录8.1变量不是盒子8.2 标识,相等性和别名8.2.1 在和is之间选择8.2.2 元组的相对不可变性8.3 默认做浅复制&#xff08;拓展&#xff09;为任意对象做深复制和浅复制深拷贝和浅拷贝有什么具体的区别呢&#xff1f;8.4 函数的参数作为引用时8.4.1 不要使用可变类型作为参数…