黑马程序员安卓教程实现加载大图片.docxVIP

  • 0
  • 0
  • 约2.24千字
  • 约 4页
  • 2017-11-20 发布于北京
  • 举报

黑马程序员安卓教程实现加载大图片.docx

黑马程序员安卓教程实现加载大图片

实现加载大图片一、实验前准备工作请自己提前准备好一张分辨率比较大的图片,将该图片放到模拟器的 sdcard 根目录下。然后创建Android 工程“01-加载大图片”。二、编写布局LinearLayoutxmlns:android=/apk/res/androidxmlns:tools=/toolsandroid:layout_width=match_parentandroid:layout_height=match_parentandroid:orientation=vertical6.Buttonandroid:onClick=loadandroid:layout_width=match_parentandroid:layout_height=wrap_contentandroid:text=加载大图片 /ImageViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:id=@+id/iv/18.19. /LinearLayout3三、编写代码【文件 1-1】 MainActivity.java1. package com.example.loadpic;2.importandroid.os.Bundle;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.BitmapFactory.Options;importandroid.view.Display;importandroid.view.View;import android.widget.ImageView;/*** 演示如何加载大图片** @author wzy2016-1-26**/public classMainActivity extends Activity{private ImageView iv;@Overrideprotected void onCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv = (ImageView)findViewById(R.id.iv);}/*** 点击界面Button后调用该方法,实现加载大图片的业务逻辑** @paramview*/publicvoidload(Viewview){/*** 最普通的方式(不对图片进行等比例缩放时)加载图片的两行核心代码*///Bitmapbitmap= BitmapFactory.decodeFile(/mnt/sdcard/dog.jpg);//iv.setImageBitmap(bitmap);//创建一个可选项对象,该对象用于配置图片的处理参数Options opts = newOptions();// 将该参数设置为true则加载器不加载图片,而是把图片的out(宽和高)的字段信息取出来opts.inJustDecodeBounds =true;/**4* 加载图片,该方法只是从图片文件中读取图片的宽和高信息,而没有真正的加载到内存中* 参数1:是图片的地址* 参数2:是加载图片时的配置信息*/BitmapFactory.decodeFile(/mnt/sdcard/dog.jpg, opts);//获取到图片的宽和高信息intimageWidth =opts.outWidth;intimageHeight = opts.outHeight;// 获取到屏幕对象Display display = getWindowManager().getDefaultDisplay();// 获取到屏幕的真是宽和高intscreenWidth = display.getWidth();intscreenHeight=display.getHeight();// 计算缩放比例intwidthScale =imageWidth /screenWidth;intheightScale = imageHeight/ screenHeight;//计算出最大的比例intscale =widthScale heightScale ? widthScale: heightScale;// 使用缩放比例进行缩放加载图片opts.inJustDecodeBounds =false; //加载器就会返回图片了// 配置该参数加载图片时BitmapFactory就会自

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档