Android中进行图片缩放显示

Android中进行图片缩放显示:
demo下载连接:
http://download.csdn.net/detail/u011084603/9370368

Android中进行图片缩放显示_第1张图片

实现步骤:
1、使用ImageLoader 加载网络图片
universal-image-loader-1.9.3.jar 自行下载

2、用于显示图片 待缩放功能的自定义ImageView:
直接下载工程demo查看即可,
demo下载连接:
http://download.csdn.net/detail/u011084603/9370368

3、添加网络请求的权限:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

4、MainActivity.java中自定义对话框用于单独显示图片,进行缩放推拽显示:

/**
 * 加载网络图片
 */
public void lookPid() {
String bmPath = "http://pic10.nipic.com/20101014/4768360_230901509000_2.jpg";
final Dialog dialog = new Dialog(MainActivity.this);
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(true);
dialog.setContentView(R.layout.zoom_image);

ImageView iv = (ZoomImageView) dialog.findViewById(R.id.iv_pic);

ImageLoader.getInstance().displayImage(bmPath, iv,
new ImageLoadingListener() {

@Override
public void onLoadingStarted(String arg0, View arg1) {
progressDialog.show();
}

@Override
public void onLoadingFailed(String arg0, View arg1,
FailReason arg2) {
progressDialog.dismiss();
}

@Override
public void onLoadingComplete(String arg0, View arg1,
Bitmap arg2) {
progressDialog.dismiss();
dialog.show();
}

@Override
public void onLoadingCancelled(String arg0, View arg1) {
progressDialog.dismiss();
}
});
}

5、imageLoader在使用时需要初始化:

/**
  * universal-ImageLoager 初始化
  */
 public void initImageLoader() {

  DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
    .cacheInMemory(true) // 设置下载的图片是否缓存在内存中
    .cacheOnDisk(true) // 设置下载的图片是否缓存在SD卡中
    .considerExifParams(true) // 是否考虑JPEG图像EXIF参数(旋转,翻转)
    .imageScaleType(ImageScaleType.EXACTLY)// 设置图片以如何的编码方式显示
    // .bitmapConfig(Bitmap.Config.ARGB_8888)// 设置图片的解码类型
    .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型
    .build();
  ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
    getApplicationContext())
    .defaultDisplayImageOptions(defaultOptions)
    .threadPriority(Thread.NORM_PRIORITY - 2)
    .denyCacheImageMultipleSizesInMemory()
    .discCacheFileNameGenerator(new Md5FileNameGenerator()).build();

  ImageLoader.getInstance().init(config);

 }

6、所需的布局文件:
zoom_image.xml:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="#e0000000"
    android:gravity="center"
    android:orientation="vertical" >

    <com.example.exerpicpreview.ZoomImageView
        android:id="@+id/iv_pic"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:minHeight="80dp"
        android:minWidth="80dp"
        android:scaleType="matrix" />

LinearLayout>

你可能感兴趣的:(android笔记)