1、掌握在Android中如何插入图片
我们样例选用一张小狗(dog.jpg),您可以使用自己的任何图片进行试验。一般建议您程序中的图片加入资源,而不是放在SD卡中用流的方式去读取,毕竟嵌入的资源比较安全,不容易被篡改。
2、导入图片到资源
将图片拖拽到项目res\drawable开头的3个文件夹下,他们分别代表了高、中、低分辨度的图片。Android读取图片时自动优化,选用合适的一个图片显示,如高分辨率可以存放128*128的图片,低分辨率可以存放32*32的图片。
3、xml布局文件
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dog"
android:maxWidth="200dp"
android:maxHeight="200dp"
android:adjustViewBounds="true"></ImageView>
ImageView标签对应的类:public class ImageView extend View
常用属性
android:src : 设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
android:adjustViewBounds : 是否保持宽高比。需要与maxWidth、maxHeight一起使用,否则单独使用没有效果。
android:maxHeight : 设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。
如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
(1) 设置setAdjustViewBounds为true;
(2) 设置maxWidth、maxHeight;
(3) 设置layout_width和layout_height为wrap_content
android:scaleType属性,设置图片的填充方式,有如下常量值:
matrix 用矩阵来绘制,动态缩小放大图片来显示。
fitXY 把图片不按照宽高比,扩大或缩小到View的大小显示。
fitStart 把图片按照宽高比,扩大或缩小到View的宽度,显示在View的上部分位置。
fitCenter 把图片按照宽高比,扩大或缩小到View的宽度,显示在View的居中位置。
fitEnd 把图片按照宽高比,扩大或缩小到View的宽度,显示在View的下部分位置。
center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显现。
centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)。
centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
android:tint 将图片渲染成指定的颜色。