资源使用

Android 中支持三种格式的位图文件:.png(首选), .jpg(可接受),.gif(不建议)

为什么首推 PNG 呢?

官网的描述如下:

注:在构建过程中,可通过 aapt 工具自动优化位图文件,对图像进行无损压缩。例如,不需要超过 256 色的真彩色 PNG 可通过调色板转换为 8 位 PNG。这样产生的图像质量相同,但所需内存更少。因此请注意,此目录中的图像二进制文件在构建时可能会发生变化。如果您计划将图像解读为比特流以将其转换为位图,请改为将图像放在 res/raw/ 文件夹中,在那里它们不会进行优化。

在 resource 中存放有以下图片
res/drawable/myimage.png

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

可见性

ImageView 继承于 android.view.View,因此也可以通过 setVisibility(int) 设置它的可见性。入参为以下3个值

  • GONE

完全被隐藏,现象如该 view 没有被添加一样。

  • INVISIBLE

仅仅不显示,但是它依旧会在 layout 中占据空间

  • VISIBLE

显示,默认值就为该值

imageView.setVisibility(View.VISIBLE);

android:scaleType

设置图片的比例或移动来适应 ImageView 的大小

setScaleType(ImageView.ScaleType)
or
android:scaleType="center"
  • CENTER

放在 view 的中央,不进行缩放。如果图片大小大于 ImageView 控件,则截取图片中间部分,若小于则直接将图片进行显示

  • CENTER_CROP

按比例进行缩放, 这样图片的尺寸可能会大于等于当前 view 的尺寸, 然后将其放在 view 的中央。让图片的短边与 ImageView 的边长度相同,即不能留有空白,缩放后截取中间部分进行显示。

  • CENTER_INSIDE

将图片大小大于ImageView的图片进行等比例缩小,直到整幅图能够居中显示在ImageView中,小于ImageView的图片不变,直接居中显示。

  • FIT_CENTER

大图等比例缩小,使得整个图能全部放入 view 中进行居中显示,小图等比例放大,并且整体居中显示在 ImageView 中

  • FIT_END

缩放方式同FIT_CENTER,只是将图片显示在右方或下方,而不是居中

  • FIT_START

缩放方式同FIT_CENTER,只是将图片显示在左方或上方,而不是居中

  • FIT_XY

将图片非等比例缩放到大小与ImageView相同。

  • MATRIX

通过矩阵方式控制图片的缩放和旋转, 并涉及到以下接口 setImageMatrix(Matrix)

image

参考文章

Working with the ImageView

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!