博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android2.2 API 中文文档系列(6) —— ImageView
阅读量:6836 次
发布时间:2019-06-26

本文共 2813 字,大约阅读时间需要 9 分钟。

 

正文

  一、结构

    java.lang.Object

      

        android.widget.ImageView

 

    已知直接子类:

    ImageButton, QuickContactBadge 

 

    已知间接子类:

    ZoomButton

 

  二、类概述

 

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

 

  三、XML属性

属性名称

描述

android:adjustViewBounds

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

android:cropToPadding

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

 

 

android:maxHeight

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

1) 设置setAdjustViewBoundstrue

2) 设置maxWidthMaxHeight

3) 设置设置layout_widthlayout_heightwrap_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

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

android:tint

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

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

 

  四、代码  

    4.1  android:tint

<
ImageView 
android:background
="@android:color/white"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>
    
<
ImageView 
android:layout_marginLeft
="5dp"
 android:background
="@android:color/white"
 android:tint
="#ffff00"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>

    4.2  android:cropToPadding

<
ImageView 
android:background
="@android:color/white"
 android:scrollY
="-10px"
 android:cropToPadding
="true"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>
    
<
ImageView 
android:background
="@android:color/white"
 android:scrollY
="10px"
 android:cropToPadding
="true"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>
    
<
ImageView 
android:paddingTop
="10px"
  android:background
="@android:color/white"
 android:scrollY
="10px"
 android:cropToPadding
="true"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>
    
<
ImageView 
android:paddingTop
="10px"
 android:background
="@android:color/white"
 android:scrollY
="10px"
 android:cropToPadding
="false"
 android:src
="@drawable/btn_mode_switch_bg"
        android:layout_width
="wrap_content"
 android:layout_height
="wrap_content"
></
ImageView
>

 

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582712,如需转载请自行联系原作者

你可能感兴趣的文章
我理解的Java并发基础(三):线程安全与锁
查看>>
UX设计师——如何快速提高你的设计水平
查看>>
原型设计工具Mockplus新年福利,见者有份
查看>>
并发----AQS
查看>>
.Net MVC 用 ajaxfileupload 上传图片
查看>>
阿里云双十一1折拼团活动:已满6人,都是最低折扣了
查看>>
AngularDart4.0 指南
查看>>
js 入门 前端基础之JavaScript
查看>>
Java算法-递推算法思想
查看>>
rust学习记录-控制台整数读取
查看>>
JavaScript变量提升
查看>>
1 mysql索引的实现原理
查看>>
相对和绝对路径 、 cd命令 、创建和删除目录mkdir/rmdir 、 rm命令
查看>>
静态文件过期缓存、Nginx防盗链、访问控制
查看>>
解决Spring扫描实体映射文件报错的问题
查看>>
ConcurrentModificationException
查看>>
webpack-dev-server启动后, localhost:8080返回index.html的原理
查看>>
cookie是什么?作用?生命周期?
查看>>
6月20日任务 mysql用户管理 、常用sql语句、mysql数据库备份恢复
查看>>
阿里工程师开发了一款免费工具,提升Kubernetes应用开发效率
查看>>