图像视图: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. Robot Framework web测试demo

    1.Open RIDE: ride.py 2.New Project: "File" -> "New Project" ,click "OK&q ...

  2. Exception testing

    怎样去验证代码是否抛出我们期望的异常呢?虽然在代码正常结束时候验证很重要,但是在异常的情况下确保代码如我们希望的运行也很重要.比如说: new ArrayList<Object>().ge ...

  3. HDU 3660 Alice and Bob's Trip

    树形dp,这道题如果选G++的话,只输入都会超时.我是C++ 1900ms + 飘过的...但是输入优化后就快了很多了,1100ms左右.dfs按层次求最值就行了,差不多也算是博弈吧,到bob取的时候 ...

  4. @Query注解的用法(Spring Data JPA)

    参考文章:http://www.tuicool.com/articles/jQJBNv 1. 一个使用@Query注解的简单例子 @Query(value = "select name,au ...

  5. ubuntu安装mysql的步骤和配置总结

    因为经常要在ubuntu linux的环境下做一些开发工作.很多时候也牵涉到mysql相关的开发工作.于是就把整个过程做了一个整理,以方便以后再次安装配置的时候参考,也希望能够让新手少走点弯路. 其实 ...

  6. 第二个参数(那个 properties)确定你将如何使用这个特性值

    CBCharacteristicPropertyBroadcast: 允许一个广播特性值,用于描述特性配置,不允许本地特性 CBCharacteristicPropertyRead: 允许读一个特性值 ...

  7. [React] Radium: Updating Button Styles via Props

    In a CSS library like Bootstrap we can set a button's style to be "primary" or "secon ...

  8. linux系统用户锁定与解锁

    1.使用passwd命令锁定与解锁账号 [root@rhel7 ~]# passwd -l lxj --- -l 锁定 Locking password for user lxj. passwd: S ...

  9. Jenkins api java 调用

    String filepath = "E:\\config.xml"; HttpClient client = new DefaultHttpClient(); HttpPost ...

  10. Ajax跨域请求中的Cookie问题(默认不带cookie等凭证)

    1.原生Ajax请求方式,设置跨域请求附带详细参数 var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xx ...