一.介绍 ImageView用来显示任意图像图片,可以自己定义显示尺寸,显示颜色等等. 二.XML属性 android:adjustViewBounds 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,单独使用没有效果。 android:cropToPadding 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用 android:maxHeight 定义View的最大高度,需要与AdjustViewBounds一起使用,单独使用没有效果。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置: 1) 设置AdjustViewBounds为true; 2) 设置maxWidth、MaxHeight; 3) 设置设置layout_width和layout_height为wrap_content。 android:maxWidth 设置View的最大宽度。 android:scaleType 设置图片的填充方式。 android:src 设置View的图片或颜色 android:tint 将图片渲染成指定的颜色。
--------------------------------------------------------------------------------------------- 使用Martix(android.graphics.Matrix)类中的postScale()方法结合Bitmap来实现缩放图片的功能
Bitmap bmp = BitmapFactory.decodeResource(getResource(),R.drawalbe.icon1)
int bmpwidth = bmp.getWidth();
int bmpheight = bmp.getHeight();
Matrix matrix = new Matrix();
matrix.postScale(width,height);
Bitmap bm = Bitmap.createBitmap(bmp,0,0,bmpwidth,bmpheight ,matrix,true);
imageView.setImageBitmap(bm);

在Android中不允许ImageView在产生后,动态修改其长度和宽度,
所以要实现图片发大缩小的功能,必须将原来的ImageView移除,
重新产生一个新的ImageView,并且指定图片来源给它,再放入Layout中

--------------------------------------------------------------------------------------------------

1、public voidsetVisibility(int visibility)

visibility

One ofVISIBLE,INVISIBLE, orGONE

但是在调用此方法的时候

image.setVisibility(visibility)

其中visibility是int型的参数。对应上面:VISIBLE=0x00000000;INVISIBLE=0x00000004;GONE=0x00000008。

即:

image.setVisibility(0x00000000) /image.setVisibility(View.VISIBLE);表示显示;

image.setVisibility(0x00000004) /image.setVisibility(View.INVISIBLE);表示隐藏;

image.setVisibility(0x00000008) / image.setVisibility(View.GONE);表示view不存在。

2、设置颜色的不同方法

color.rgb(255,255,255);

color.RED;

color.parseColor(colorString); 其中colorString可以是:#RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray' 等

3、设置图片指定大小

protected Bitmap scaleImg(Bitmap bm, int newWidth, int newHeight) {
// 图片源
// Bitmap bm = BitmapFactory.decodeStream(getResources()
// .openRawResource(id));
// 获得图片的宽高
int width = bm.getWidth();
int height = bm.getHeight();
// 设置想要的大小
int newWidth1 = newWidth;
int newHeight1 = newHeight;
// 计算缩放比例
float scaleWidth = ((float) newWidth1) / width;
float scaleHeight = ((float) newHeight1) / height;
// 取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// 得到新的图片
Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix,
true);
return newbm;

}

调用:

获得18×18的图片

Bitmap bm = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.icon));

Bitmap newBm = scaleImg(bmImg , 18, 18);

imageView.setImageBitmap(newBm);

android: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 用矩阵来绘制,动态缩小放大图片来显示。

更多相关文章

  1. Android下Activity全屏显示实现方法
  2. Android入门(4) 开发第一个Android程序
  3. Android中ListView和ScrollView总结【安卓进化二十九】
  4. android开发之EditText的属性说明
  5. Android之EditText 属性汇总
  6. 利用HTML5开发Android
  7. Android设置Activity(界面)为全屏显示的两种方法 xml和java程序
  8. android TextView设置字过多长长度后面显示省略号失效
  9. android ListView Item和CheckBox、Button点击事件冲突的问题

随机推荐

  1. Android(安卓)build system note
  2. 2012 年最佳 Android(安卓)应用
  3. Android无法真正睡眠:服务广播插件等仍激
  4. Android(安卓)安全 —— 本地拒绝服务漏
  5. Android动画之ViewAnimation和DrawableAn
  6. 初学Android,使用菜单资源(十九)
  7. Android获取安装包32位签名
  8. How to create android splash screen
  9. Android知识梳理:消息机制之Looper
  10. Android(安卓)Phone拨出电话流程