多low,也得做好总结——题记
一个app客户端启动时候,一般会在开始的欢迎界面展示图片,这时候会用的ImageView组件负责展示(一般是静态图片),图片的处理(包括缩放等)则需要用的Bitmap类来处理,这是这个两个类在功能上的区别,今天看了公司的项目,发现了欢迎界面的图片展示是通过这样的逻辑实现的:
1.将图片A放到资源包里面
2.在欢迎界面中,使用imageview组件,宽度为match_parent,占据整个屏幕,而高度设置为wrap_content,没有设置默认图片资源(src属性),也没有设置背景(background)属性
3.在activity中,使用bitmap类对图片A进行处理,这时候需要按照长宽比进行缩放到水平方向刚好占据整个屏幕
· 4.对imageview组件设置默认图片资源。
解决完问题后,想了解Imageview组件设置background的效果和设置src的效果有什么不同,上网查了些资料,发现background的属性,是将资源文件完全填充到imageview组件中区,imageview组件的宽高决定了这张图片显示时候的比例。而src属性,则是将这个图片插入到这个imageview组件中,imageview的宽高,不影响src显示时候的比例和大小,但是可能会影响到显示的是哪个部分(当src图片比imageview的大小要更大的时候)
Bitmap对src图片进行处理的时候,举例如下:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.png_01); DisplayMetrics dm = new DisplayMetrics(); //创建DisplayMetrics对象,
getWindowManager().getDefaultDisplay().getMetrics(dm); //获取屏幕的默认尺寸。
int width = dm.widthPixels;//屏幕横向的像素 int height = dm.heightPixels;//屏幕纵向的像素 double bili = (double)(bitmap.getHeight()/bitmap.getWidth());//资源图片的宽高比例 int gao = (int)(bili*width); Bitmap img = Bitmap.createScaledBitmap(bitmap,width,gao,true );//对资源图片重现定义宽高,并显示
本文探讨了在Android应用中,如何使用ImageView和Bitmap处理图片。启动时,ImageView常用于展示静态图片,Bitmap用于图像缩放等处理。具体实现包括将图片放入资源包,ImageView宽度填充屏幕,高度自适应,Bitmap按比例缩放以适应屏幕。同时,讨论了ImageView的background和src属性的区别,background会填充整个组件,而src保持图片原有比例。最后,举例说明了Bitmap对图片进行处理的方法。
1875

被折叠的 条评论
为什么被折叠?



