Android ImageView图片显示点击背景切换

  次阅读 作者:智能小宝 来源:互联网 2015-10-03 11:20 我要评论(0)

一.介绍

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 of VISIBLE, INVISIBLE, or GONE

但是在调用此方法的时候

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;

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...