在实际开发中imageview有这很重要的作用。因为每款App都必不可少的要有图片的存在。所以,理解和用好imageview是很重要的。
imageview的 scaleType属性:不同值的不同含义
一:
center:图片按原来的样子(size)居中显示,不做放大缩小处理:
小图片:就是原来的样子居中显示
大图片:图片居中显示 能显示的:超过的不显示了就。
二:
center_crop:按比例缩放居中显示:长和宽大于等于view的长和宽。
就是保证没有图片的黑边,但是可能会有部分不显示。能够充满view。做放大处理的。
三:
center_inside:保证图片的完全显示:按比例:长和宽小于等于view的和宽或者小图的原图 显 示。是用来做缩放处理的。可能会有黑边。
四:
fit_center:按比例放大缩小。完全 适配view的宽度。但是:出现以下问题
图片宽度大于view,则可以宽度自适应,但高度不好控制,相当于高度未自适应(这个高度指view的高度),view还有空白。
当图片宽度小于view时,又填充不满
五:
FIT_XY:不按比例缩放图片,目标是把图片塞满整个View。
千万注意:另一个属性:
网络上下载下来的图片自适应:android:adjustViewBounds=”true”(其详细解释在下面)
属性名称
描述
android:adjustViewBounds
是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
1) 设置setAdjustViewBounds为true;
2) 设置maxWidth、MaxHeight;
3) 设置设置layout_width和layout_height为wrap_content。
注意:按照图片正方形比例:显示 高度为现行布局剩下的部分 宽度等于高度写了以下布局:
并没有设定宽高max也保持了正方形
有时候不按照上面的做法会出现问题,也不会出现问题。
<ImageView
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:id="@+id/iv_fragment_news_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp" />
以上代码实现了:图片适配平模宽度(因为不用的手机屏幕尺寸是不固定的。而且还要保持图片的完全显示。还要不被拉伸。适配不同的屏幕宽度)
android:cropToPadding
是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用。
android:tint
将图片渲染成指定的颜色。
imageview加载图片的方法
//wishImageDisply.setBackground(Drawable);
//wishImageDisply.setBackgroundDrawable(Drawable);
//wishImageDisply.setBackgroundResource(R);
//wishImageDisply.setImageResource(R.);
重点//wishImageDisply.setImageBitmap(Bitmap);
重点//wishImageDisply.setImageDrawable(Drable);
重点//wishImageDisply.setImageURI(Uri); Uri可以是 content:// 也可以是file://
最好使用 wishImageDisply.setImageBitmap(Bitmap); 在得到bitmap 之前进行压缩:减少oom异常