图像视图:ImageView

继承view类,用于在屏幕上显示任何Drawable对象,通常用来显示图片:

这里的话我们介绍一些比较常用的属性:

Path 1:

android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片的长宽比

!!!下面的这两个属性需要adjustViewBounds为ture,不然是不起作用的哦!

android:maxHeight:设置ImageView的最大高度

android:maxWidth:设置ImageView的最大宽度

实例:

代码:

<!-- 正常的图片 -->
<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView1"
android:layout_margin="5px"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<!-- 限制了最大宽度与高度,并且设置了调整边界来保持所显示图像的长宽比-->
<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView2"
android:maxWidth="200px"
android:maxHeight="200px"
android:adjustViewBounds="true"
android:layout_margin="5px"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>

运行截图:

代码解释:

大的那个图片是没有任何处理的图片,下面的那个的话我们通过maxWidth和maxHeight限制ImageView最大宽度与高度为200px

就是最多只能显示200*200的图片,我们又设置了一个adjustViewBounds = "true"调整我们的边界来保持图片的长宽比,此时的ImageView宽搞为是87*133

Path 2:

android:scaleType:设置显示的图片如何缩放或者移动以适应ImageView的大小

属性:

fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变

fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角

fitCenter:同上,缩放后放于中间;

fitEnd:同上,缩放后放于右下角;

center:不做任何处理直接让图片在ImageView中居中

centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全

centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片

matrix:使用matrix方式进行缩放,这个有点复杂,占时不介绍...

实例:

1.fitEnd,fitStart,fitCenter使用,这里以fitEnd作为示范

代码:

<!-- 保持图片的横纵比缩放,知道该图片能够显示在ImageView组件上,并将缩放好的图片显示在imageView的右下角 -->
<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView3"
android:layout_margin="5px"
android:layout_width="180px"
android:layout_height="180px"
android:scaleType="fitEnd"
/>

运行截图:

代码解释:保持横纵比缩放,直到最长边与imageview边相等,缩放完成,将图片放于右下角

其余两个类似

2.centerGroup与centerInside

代码:

<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView3"
android:layout_margin="5px"
android:layout_width="180px"
android:layout_height="180px"
android:scaleType="centerCrop"
/>
<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView3"
android:layout_margin="5px"
android:layout_width="180px"
android:layout_height="180px"
android:scaleType="centerInside"
/>

运行截图:

代码解释:centerCrop:按横纵比缩放,直接完全覆盖整个ImageView

centerInside:按横纵比缩放,使得ImageView能够完全显示这个图片

path 3:

android:tint:为图片着色,填颜色值

代码:

<ImageView
android:src="@drawable/meinv9"
android:id="@+id/imageView3"
android:layout_margin="5px"
android:layout_width="180px"
android:layout_height="180px"
android:scaleType="centerInside"
android:tint="#77ff0000"
/>

运行截图:

代码解释:和上面的差不多,只是多了一句tint:...,对这个图片进行了着色

http://www.fenby.com/blog/blog/300

android-UI组件实例大全(六)------ImageView图像视图的更多相关文章

  1. Android学习笔记-ImageView(图像视图)

    本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的s ...

  2. Android UI组件----ListView列表控件详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  3. Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)

    Android开发是目前最热门的移动开发技术之一,随着开发者的不断努力和Android社区的进步,Android开发技术已经日趋成熟,当然,在Android开源社区中也涌现了很多不错的开源UI项目,它 ...

  4. 这是一个比较全的Android UI 组件

     Android组件及UI框架大全 原文地址:http://blog.csdn.net/smallnest/article/details/38658593 Android 是目前最流行的移动操作系统 ...

  5. Android UI开发第二十六篇——Fragment间的通信

    为了重用Fragment的UI组件,创建的每个Fragment都应该是自包含的.有它自己的布局和行为的模块化组件.一旦你定义了这些可重用的Fragment,你就可以把它们跟一个Activity关联,并 ...

  6. Android UI组件学习

    android.view.View类是全部UI组件的父类. 如果一些属性的内容本类找不到的时候一定要到父类之中进行查找. 所谓的学习组件的过程就是一个文档的查找过程. ※ Android之中所有的组件 ...

  7. Android UI组件:布局管理器

    为了更好的管理Android应用的用户界面中的组件,Android提供了布局管理器.通过使用布局管理器,Android应用的图形用户界面具有良好的平台无关性.通常,推荐使用布局管理器来管理组件的分布. ...

  8. Android UI 组件 » GifView

    GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片 使用方法: 1-把Gi ...

  9. Android UI组件----AppWidget控件入门详解

    Widget引入 我们可以把Widget理解成放置在桌面上的小组件(挂件),有了Widget,我们可以很方便地直接在桌面上进行各种操作,例如播放音乐. 当我们长按桌面时,可以看到Widget选项,如下 ...

随机推荐

  1. HDU5039--Hilarity DFS序+线段树区间更新 14年北京网络赛

    题意:n个点的树,每个条边权值为0或者1, q次操作 Q 路径边权抑或和为1的点对数, (u, v)(v, u)算2个. M i修改第i条边的权值 如果是0则变成1, 否则变成0 作法: 我们可以求出 ...

  2. java下载csv文件,中文标题

    @RequestMapping(value = "/export.do") public void exportpushuserByareacode(HttpServletRequ ...

  3. JS~js里实现队列与堆栈

    在面向对象的程序设计里,一般都提供了实现队列(queue)和堆栈(stack)的方法,而对于JS来说,我们可以实现数组的相关操作,来实现队列和堆栈的功能,看下面的相关介绍. 一 看一下它们的性质,这种 ...

  4. Android ScrollView

    ScrollView 滚动视图 滚动视图用于为其它组件添加滚动条,在默认的情况下,当窗体中内容比较多,而一屏显示不下时,超出的部分不能被用户所看到.因为Android的布局管理器本身没有提供滚动屏幕的 ...

  5. TinyXml高速入门(一)

    作者:朱金灿 来源:http://blog.csdn.net/clever101 对于xml文件,眼下我的工作仅仅是集中在配置文件和作为简单的信息文件来用,因此我不太喜欢使用msxml这样的重量级的x ...

  6. LSI SAS 2208 配置操作

    配置LSISAS2208 介绍LSISAS2208扣卡的配置方法. 2.1 登录CU界面 介绍登录LSISAS2208的CU配置界面的方法,以及CU界面的主要功能. 2.2 创建RAID 介绍创建RA ...

  7. PHP编写的SVN类

    <?php /** * SVN 外部命令 类 * * @author rubekid * * @todo comment need addslashes for svn commit * */ ...

  8. servlet方式通过Cookie记住登录时的用户名和密码

    1.建立web工程 2.创建存放servlet的包 3右键包,新建servlet,路径将前面的servlet去掉,只需要doPost和doGet方法 编写servlet CookieServlet.j ...

  9. div中英文无法自动换行的解决办法

    在一个设定好宽度的div中,当我们输入的中文文字长度超过了设定宽度时,会自动换到下一行.   但是,如果输入的是英文字母,那么,无论你div设定宽度为多少,英文字母都是不换行直接在同一行输出,导致di ...

  10. Mysql锁机制介绍

    Mysql锁机制介绍 一.概况MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...