一、谷歌官方ImageView API解释
java.lang.Object | ||
↳ | android.view.View | |
↳ | android.widget.ImageView |
Known Direct Subclasses |
Known Indirect Subclasses |
2、Class Overview
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.
主要功能就是android图片容器,可以加载各种类型的图片如原始图片资源或者上下文提供者所提供。可以通过测量算法实现图片的不同布局如缩放、透明度等。
3、XML属性
XML Attributes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Attribute Name | Related Method | Description | |||||||||
android:adjustViewBounds | setAdjustViewBounds(boolean) | 如果想保持图片的长宽比例那就设为true | |||||||||
android:baseline | setBaseline(int) | 视图内基线的偏移量 | |||||||||
android:baselineAlignBottom | setBaselineAlignBottom(boolean) | 如果为true,图像视图将基线与父控件底部边缘对齐。 | |||||||||
android:cropToPadding | setCropToPadding(boolean) | 是否裁剪, 用来保留ImageView的padding, 该属性与android:scrollY 属性一起使用的时候才有用, 单独使用没有效果; 即 在滚动的时候, 滚 动到边界, 边界的padding空白是否显示; | |||||||||
android:maxHeight | setMaxHeight(int) | 为视图提供最大高度的可选参数。( 单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置 图片固定大小,又想保持图片宽高比,需要如下设置: 1) 设置setAdjustViewBounds为true; 2) 设置maxWidth、MaxHeight; 3) 设置设置layout_width和layout_height为wrap_content。 ) | |||||||||
android:maxWidth | setMaxWidth(int) | 为视图提供最大宽度的可选参数。 | |||||||||
android:scaleType | setScaleType(ImageView.ScaleType) | 控制为了使图片适合 ImageView 的大小,应该如何变更图 片大小或移动图片。(说白了mageView.ScaleType中定义 了许多属性来控制缩放展示布局效果,下面详解之。) | |||||||||
android:src | setImageResource(int) | 设置所展示的图片资源 | |||||||||
android:tint | setColorFilter(int,PorterDuff.Mode) | 为图片设置着色颜色。 |
首先,它是一个嵌套类API如下:
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enum | ImageView.ScaleType | Options for scaling the bounds of an image to the bounds of this view. |
Enum Values | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ImageView.ScaleType | CENTER | 将图片放在ImageView的中央, 不进行缩放 | |||||||||
ImageView.ScaleType | CENTER_CROP | 保持长宽比缩放, 使图片完全覆盖ImageView | |||||||||
ImageView.ScaleType | CENTER_INSIDE | 保持长宽比缩放, 将整个图片完全显示在ImageView中 | |||||||||
ImageView.ScaleType | FIT_CENTER | 保持长宽比缩放, 直到该图片完全显示在ImageView中, 缩放完成之后该图片位于中央 | |||||||||
ImageView.ScaleType | FIT_END | 保持长宽比缩放, 直到该图片完全显示在ImageView中, 缩放完成之后该图片位于右下角 | |||||||||
ImageView.ScaleType | FIT_START | 保持长宽比缩放, 直到该图片完全显示在ImageView中, 缩放完成之后该图片在左上角 | |||||||||
ImageView.ScaleType | FIT_XY | 在x y 两个方向上缩放, 使图片完全填充整个ImageView 不按照长宽比例缩放 | |||||||||
ImageView.ScaleType | MATRIX | 使用矩阵来进行绘图 |
(1)、public void setAlpha (int alpha) 设置透明度
(2)、 public void setImageBitmap (Bitmap bm) 设置位图作为该 ImageView 的内容。
(3)、 public void setImageDrawable (Drawable drawable) 设置可绘制对象为该 ImageView 显示的内容。
(4)、public void setImageResource (int resId)
通过资源ID设置可绘制对象为该 ImageView 显示的内容。注意:该操作读取位图,并在 UI 线程中解码,因此可能导致反应迟缓。 如果反应迟缓,可以考虑 用 setImageDrawable(Drawable)、 setImageBitmap(Bitmap) 或者 BitmapFactory 代替。
(5)、public void setScaleType (ImageView.ScaleType scaleType) 控制图像应该如何缩放和移动,以使图像与 ImageView 一致。
好了,今天就说这么多吧,在随后的博客中会讲到图片透明度的调节,图片手动缩放(包括按钮、多点触控《难点》),图片旋转等一些常见功能。
本文图片显示效果来自源代码:http://download.csdn.net/detail/icedcap/7010429
NEXT->:http://blog.csdn.net/icedcap/article/details/20844643