一、结构

    java.lang.Object

      android.view.View

        android.widget.ImageView

    已知直接子类:

    ImageButton, QuickContactBadge

    已知间接子类:

    ZoomButton

二、类概述

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

三、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:用矩阵来绘图

fitXY:拉伸图片(不按比例)以填充View的宽高,layout_height:30px,layout_width:120px

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

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

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

center:按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示,layout_height:60px,layout_width:80px,padding:10px

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

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

 android:src  设置View的drawable(如图片,也可以是颜色,但是需要指定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>

ImageView属性的更多相关文章

  1. Android图片变形,ImageView属性的设置。

    <ImageView android:id="@+id/iv" android:layout_width="match_parent" android:l ...

  2. Android学习笔记_61_手机安全卫士知识点归纳(1)状态/形状图形 GPS 设备管理器DeviceAdminReceiver ImageView属性

    1.在做程序自动安装更新的时候 ,必须保证程序的签名和包名是相同.  C:\Documents and Settings\zehua\.android  \ debug.keystore  debug ...

  3. Android ImageView属性

    ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...

  4. iOS OC利用imageview属性切出类似圆柱图形

    效果一: 效果二: 上边的图形我也数不出来名字,,暂称圆柱正切图形吧,看到这样的需求似不似在想各种插件,各种切图方法了呢... UIImageView的属性可以轻松搞定 UIViewContentMo ...

  5. Android自定义ImageView圆形头像

    效果图: 代码如下: RoundImageView.java import cn.comnav.evaluationsystem.R; import android.content.Context; ...

  6. IOS开发UI基础UITableView的属性

    UITableView UITableView内置了两种样式:UITableViewStylePlain,UITableViewStyleGrouped <UITableViewDataSour ...

  7. Android ImageView图片自适应 (转)

    网络上下载下来的图片自适应:android:adjustViewBounds="true"(其详细解释在下面)<ImageView     android:id=" ...

  8. Android控件之ImageView(显示图片的控件)

    一.ImageView属性: android:src = "@drawable/ic_launcher"——ImageView的内容图像(可以和android:background ...

  9. Android圆形图片--ImageView

    [ RoundImageView.java ] package com.dxd.roundimageview; import android.content.Context; import andro ...

随机推荐

  1. sublime编辑器插件

    sublime---插件 http://www.cnblogs.com/dudumao/p/4054086.html sublime--- Emmet插件  使用方法 http://docs.emme ...

  2. java 异步处理

    详情请看:http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315645.html 引入ExecutorService 类 private st ...

  3. 【UOJ #13】【UER #1】跳蚤OS

    http://uoj.ac/problem/13 建立trie树,然后建立go指针, 和AC自动机里的fail指针差不多, 走到一个快捷方式就从go指针走. 注意在trie树上要保留字符'/',不能用 ...

  4. UnixC学习小结

    1.malloc工作原理:     malloc使用一个数据结构(链表)维护分配空间     链表的构成:分配的空间/上一个空间数据/下一个空间/空间大小等信息.     对malloc分配的空间不要 ...

  5. 第一次作业——subway

    作业源程序代码:https://github.com/R-81/subway 作业程序使用说明:通过输入命令参数求解路线(仅支持-b,-c),根据参数得出路线后,程序不会结束,此时可输入地铁路线名(例 ...

  6. Ubuntu下的MySQL安装

    <1>安装mysql-server sudo apt-get update sudo apt-get install mysql-server mysql-client <2> ...

  7. Linux 笔记

    权限: rwx rwx rwx 以4 2 1数字表示 rwx x 在目录当中是与『能否进入该目录』有关 w 可以让使用者删除.更新.新建文件或目录 通过  "su - vbird" ...

  8. 浅谈Android中的startActivityForResult和setResult方法

    引言 我们知道,如果想打开一个新的Activity我们可以使用startActivity方法.今天我们介绍的startActivityForResult不仅可以打开全新的Activity,而且当新的A ...

  9. SSH Junit4测试

    package test; import static org.junit.Assert.*; import java.util.List; import org.hibernate.SessionF ...

  10. php数组函数分析--array_column

    array_column 官方地址:array_column array_column 只能在 PHP版本5.5以上的运行,5.3是不支持这个函数的.如果5.3使用会报: Fatal error: C ...