Android入门---ImageView(图像视图)
2015-11-04 13:42
483 查看
ImageView是Androird中用于加载图片的控件,今天来学一些简单的属性。
2、而使用background填入图片,则是会根据ImageView给定的宽度和高度来进行拉伸
src和background合起来使用,把图片放到黄色背景,上效果如图:
activity_main.xml中的代码:
调整边界来保持所显示图像的长宽比,
下面的ImageView是限制了最大宽度与高度,并且设置了调整边界来保持所显示图像的长宽比(原图比例不变,只改变大小,使最长的边和我们定好的边相等即可)
效果图:
activity_main.xml中的代码:
按横纵比缩放的两种情况,如图:
activity_main.xml中的代码:
centerCrop:按横纵比缩放,直接完全覆盖整个ImageView (最短的边和我们的空间的大小一样)
centerInside:按横纵比缩放,使得ImageView能够完全显示这个图片(最长的边和我们的空间大小一样)
Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置
可选值如下:
fitXY: 对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
fitCenter:保持纵横比缩放图片,缩放后放于中间;
fitEnd:保持纵横比缩放图片,缩放后放于右下角;
center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
centerCrop:保持横纵比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片(图片显示完全)
matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理
一、ImageView的src属性和blackground属性的区别:
1、当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸 ;2、而使用background填入图片,则是会根据ImageView给定的宽度和高度来进行拉伸
src和background合起来使用,把图片放到黄色背景,上效果如图:
activity_main.xml中的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center" > <ImageView android:layout_width="200dp" android:layout_height="200dp" android:src="@drawable/yida" android:background="#FFCC12" /> </LinearLayout>
调整边界来保持所显示图像的长宽比,
下面的ImageView是限制了最大宽度与高度,并且设置了调整边界来保持所显示图像的长宽比(原图比例不变,只改变大小,使最长的边和我们定好的边相等即可)
效果图:
activity_main.xml中的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/yida" /> <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:maxHeight="200px" android:maxWidth="200px" android:src="@drawable/yida" /> </LinearLayout>
按横纵比缩放的两种情况,如图:
activity_main.xml中的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" > <ImageView android:layout_width="300px" android:layout_height="300px" android:layout_margin="10px" android:background="#FFCC12" android:scaleType="centerCrop" android:src="@drawable/yida" /> <ImageView android:layout_width="300px" android:layout_height="300px" android:layout_margin="10px" android:background="#FFCC12" android:scaleType="centerInside" android:src="@drawable/yida" /> </LinearLayout>
centerCrop:按横纵比缩放,直接完全覆盖整个ImageView (最短的边和我们的空间的大小一样)
centerInside:按横纵比缩放,使得ImageView能够完全显示这个图片(最长的边和我们的空间大小一样)
属性补充:
android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置
可选值如下:
fitXY: 对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
fitCenter:保持纵横比缩放图片,缩放后放于中间;
fitEnd:保持纵横比缩放图片,缩放后放于右下角;
center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
centerCrop:保持横纵比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片(图片显示完全)
matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理
相关文章推荐
- Android Platform Version 和 API Level对照
- Android中的ImageView和EditText(一)
- Android开发把项目打包成apk
- Android开发安装项目控制台报 INSTALL_FAILED_INSUFFICIENT_STORAGE
- Android项目重构之路:实现篇
- Android项目重构之路:界面篇
- Android Handler的使用二
- Android开发在xml资源文件中加空格
- Android 第3方控件一览表
- Android 开发中,有哪些坑需要注意?
- android stdio 启动报错
- Android Handler的使用一
- Android 6.0(M) 获得权限请求问题
- Android实现自定义带文字和图片的Button
- Android旋转屏幕不销毁数据的方法
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android Camera 调用流程总结
- android模拟器与PC的端口映射(转)
- android studio annotation 配置过程
- Ubuntu 15.10 x64 安装 Android SDK(转)