ImageView:Displays an arbitrary image, such as an icon. The ImageView class can load images from various sources (such as resources or content providers), takes care of computing its measurement from the image so that it can be used in any layout manager, and provides various display options such as scaling and tinting。 ImageView就是用来显示Image,icon的。
这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:
CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示
MATRIX / matrix 用矩阵来绘制
一开始我不明白MATRIX矩阵,网上搜索后发现原来MATRIX矩阵可以动态缩小放大图片来显示,这里不展开深入的了解,只是贴出相关语句,缩小图片:
-
//获得Bitmap的高和宽
-
int bmpWidth=bmp.getWidth();
-
int bmpHeight=bmp.getHeight();
-
-
//设置缩小比例
-
double scale=0.8;
-
//计算出这次要缩小的比例
- scaleWidth=(float)(scaleWidth*scale);
-
scaleHeight=(float)(scaleHeight*scale);
-
-
//产生resize后的Bitmap对象
-
Matrix matrix=new Matrix();
-
matrix.postScale(scaleWidth, scaleHeight);
-
Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);
应用ImageView的例子很多,看看上次FrameLayout里面的:
-
<ImageView
-
android:id="@+id/image"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
android:scaleType="center"
-
android:src="@drawable/candle"
- />
分享到:
相关推荐
ImageView 图片显示样式的几种类型。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。
在Android开发中,ImageView是用于显示图像的常见组件。它具有丰富的功能,其中之一就是通过`scaleType`属性来控制图片的缩放方式。这个属性决定了图片如何适应ImageView的大小,对于UI设计和用户体验有着重要的影响...
`android:scaleType`是ImageView的一个关键属性,它决定了图片如何根据ImageView的尺寸进行缩放和定位。本篇文章将详细解析`android:scaleType`的各个取值及其含义。 1. **CENTER / center** 这个设置意味着图片会...
ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是: matrix(默认) center centerCrop centerInside fitCenter fitEnd fitStart fitXY 这里要注意:...
它具有一个重要的属性——`android:scaleType`,这个属性决定了图像如何适应或者填充ImageView的空间。理解并熟练掌握这个属性的用法,对于优化UI设计和图像展示至关重要。下面将详细解释每个`android:scaleType`值...
1. scaletype属性概述: `scaletype`属性是ImageView的一个关键参数,它决定了图像如何适应或填充ImageView的边界。这个属性可以设置为多个值,每个值对应一种不同的缩放策略。 2. Center: 这是默认值,图像居中...
scaleType的属性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside 它们之间的区别如下: matrix 用矩阵来绘制(从左上角起始的矩阵区域) fitXY 把图片不按比例扩大/缩小到View的大小...
本文实例讲述了Android开发中ImageView的scaletype属性用法。分享给大家供大家参考,具体如下: ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片...
在处理图像显示时,一个至关重要的属性便是`scaleType`,这个属性决定了图片如何适应ImageView的大小,从而影响到图片的显示效果。 `scaleType`属性提供了多种方式来调整图片在ImageView中的布局,以下是一些主要的...
在XML布局文件中,可以通过`android:scaleType`属性来调整图片的显示方式,例如`centerCrop`用于填充整个ImageView,`fitCenter`则保持图片比例居中显示。 要实现图片的全屏显示,通常需要将ImageView的大小设置为...
在Android开发中,ImageView是用于显示图像的常见控件,其ScaleType属性是决定图片如何在ImageView内适配的关键设置。本篇文章将深入探讨ImageView的ScaleType属性,并通过源码解析来理解其工作原理。 ScaleType...
当我们需要在布局中设置ImageView的宽度,并让其高度自适应保持原始图片的比例时,我们需要理解Android的布局机制以及ImageView的相关属性。 首先,我们来看如何设置ImageView的宽度。在XML布局文件中,我们可以...
ScaleType是Android中ImageView的属性,用以表示显示图片的方式。共有8种取值,分别是:ScaleType.CENTER、ScaleType.CENTER_CROP、ScaleType.CENTER_INSIDE、ScaleType.FIT_CENTER、ScaleType.FIT_END、ScaleType....
`android:scaleType` 是 `ImageView` 的一个关键属性,它决定了图片如何在视图中被拉伸、裁剪或居中显示。本文将详细解析 `android:scaleType` 的各个取值及其效果。 1. **CENTER** 当设置 `android:scaleType=...
除了`scaleType`,我们还可以通过其他属性来调整ImageView的行为,例如`adjustViewBounds`,如果设置为`true`,则ImageView的边界会根据`scaleType`和图像的原始尺寸自动调整,而不是固定在布局文件中定义的大小。...
此外,通过设置ScaleType属性,可以实现其他缩放效果,如FIT_CENTER、FIT_XY等。源码可能包含自定义的缩放算法,比如矩阵变换(Matrix)来实现平滑的缩放操作。 3. 旋转图片: 对图片进行旋转通常涉及到Bitmap的...