package com.qiwenge.android.utils;
import android.content.Context;
import android.graphics.Bitmap;
import android.widget.ImageView;
import com.liuguangqiang.framework.utils.PreferencesUtils;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
/**
* ImageLoaderUtils
* <p/>
* Created by Eric on 2014-7-7
*/
public class ImageLoaderUtils {
/**
* 加载器状态。1:开启;0:关闭
*/
private static int LOADER_STATUS = 1;
private static int STATUS_OPENED = 1;
private static int STATUS_CLOSED = 0;
private static final String SAVE_NAME = "LoaderUtils";
private static final String SAVE_KEY = "LoaderStatus";
private static boolean wifiEnable = true;
/**
* 初始化。
*
* @param context
*/
public static void init(Context context) {
ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(context));
LOADER_STATUS = PreferencesUtils.getInt(context, SAVE_NAME, SAVE_KEY, STATUS_OPENED);
}
/**
* 设置wifi是否可用。
*
* @param b
*/
public static void setWifiEnable(boolean b) {
wifiEnable = b;
}
/**
* 加载器是否打开。
*
* @return
*/
public static boolean isOpen() {
return LOADER_STATUS == STATUS_OPENED;
}
/**
* 显示图片。
*
* @param url
* @param iv
* @param mOptions
*/
public static void display(String url, ImageView iv, DisplayImageOptions mOptions) {
if (wifiEnable || LOADER_STATUS == STATUS_OPENED) {
if (ImageLoader.getInstance().isInited())
ImageLoader.getInstance().displayImage(url, iv, mOptions);
}
}
public static void display(String url, ImageView iv, DisplayImageOptions mOptions, ImageLoadingListener listener) {
if (wifiEnable || LOADER_STATUS == STATUS_OPENED) {
if (ImageLoader.getInstance().isInited())
ImageLoader.getInstance().displayImage(url, iv, mOptions, listener);
}
}
/**
* 关闭图片加载
*/
public static void closeLoader(Context context) {
LOADER_STATUS = STATUS_CLOSED;
PreferencesUtils.putInt(context, SAVE_NAME, SAVE_KEY, STATUS_CLOSED);
}
/**
* 开启图片加载
*/
public static void openLoader(Context context) {
LOADER_STATUS = STATUS_OPENED;
PreferencesUtils.putInt(context, SAVE_NAME, SAVE_KEY, STATUS_OPENED);
}
public static DisplayImageOptions createOptions(int imgLoading) {
return new DisplayImageOptions.Builder().bitmapConfig(Bitmap.Config.RGB_565)
.showImageOnLoading(imgLoading).cacheInMemory(true).cacheOnDisk(true).build();
}
public static DisplayImageOptions createOptions(int imgLoading, int radiusPixels) {
return new DisplayImageOptions.Builder().bitmapConfig(Bitmap.Config.RGB_565)
.showImageOnLoading(imgLoading).imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
.cacheInMemory(true).displayer(new RoundedBitmapDisplayer(radiusPixels))
.cacheOnDisk(true).build();
}
}