增加 正文字号设置,加载Gif,Httpdns防止网络劫持,游戏截图横屏修改

This commit is contained in:
khy
2016-07-11 17:26:40 +08:00
parent 2a4c8a01b9
commit fa6cc8dfaf
12 changed files with 355 additions and 96 deletions

View File

@ -2,6 +2,9 @@ package com.gh.common.util;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.support.v4.util.ArrayMap;
import android.util.Log;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.widget.ImageView;
@ -13,15 +16,18 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
import java.lang.ref.WeakReference;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ImageUtils {
private static ImageUtils singleton;
private static ImageLoader imageLoader;
private static DisplayImageOptions options;
private static ImageUtils singleton;
private static ImageLoader imageLoader;
private static DisplayImageOptions options;
private ArrayMap<String, WeakReference<Bitmap>> imageCache = new ArrayMap<String, WeakReference<Bitmap>>();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
@ -39,18 +45,21 @@ public class ImageUtils {
return singleton;
}
private ImageUtils(Context context, int size) {
private ImageUtils(Context context, int size) {
options = new DisplayImageOptions.Builder().cacheInMemory(true)
.cacheOnDisk(true).considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)
// .showImageOnLoading(R.drawable.ocupy)
// .showImageForEmptyUri(R.drawable.ocupy)
// .showImageOnFail(R.drawable.ocupy)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context).writeDebugLogs().build();
context).writeDebugLogs()
.memoryCacheExtraOptions(480, 800)
.build();
ImageLoader.getInstance().init(config);
imageLoader = ImageLoader.getInstance();
@ -130,17 +139,81 @@ public class ImageUtils {
});
}
public void display(String url, ImageView imageView, ScaleType scaleType) {
display(url, imageView, R.drawable.ocupy, scaleType, null);
}
public void display(final String url, final ImageView imageView,
final int drawable, final ScaleType scaleType,
final OnLoadingCompleteListener listener, final int i) {
imageLoader.displayImage(url, imageView, options,
new ImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
WeakReference<Bitmap> bitmapWeakReference = imageCache.get(imageUri);
try {
if (bitmapWeakReference!=null){
Bitmap bitmap = bitmapWeakReference.get();
imageView.setImageBitmap(bitmap);
}else {
Matrix m = new Matrix();
m.setRotate(i, (float) loadedImage.getWidth() / 2, (float) loadedImage.getHeight() / 2);
Bitmap bm1 = Bitmap.createBitmap(loadedImage, 0, 0, loadedImage.getWidth(), loadedImage.getHeight(), m, true);
imageView.setImageBitmap(bm1);
WeakReference<Bitmap> weakBM = new WeakReference<Bitmap>(bm1);
imageCache.put(imageUri, weakBM);
}
public void display(String url, ImageView imageView) {
display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null);
}
} catch (OutOfMemoryError ex) {
Utils.log("Bitmap:::内存溢出");
} catch (Exception e) {
e.printStackTrace();
}
if (imageView instanceof CircleImageView) {
imageView.setScaleType(ScaleType.CENTER_CROP);
} else {
imageView.setScaleType(scaleType);
}
if (listener != null) {
listener.onLoadingComplete();
}
}
public void display(String url, ImageView imageView, ScaleType scaleType, OnLoadingCompleteListener listener) {
display(url, imageView, R.drawable.ocupy, scaleType, listener);
}
@Override
public void onLoadingStarted(String imageUri, View view) {
imageView.setScaleType(ScaleType.CENTER);
if (drawable != -1) {
imageView.setImageResource(drawable);
}
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason reason) {
}
});
}
public void display(String url, ImageView imageView, ScaleType scaleType) {
display(url, imageView, R.drawable.ocupy, scaleType, null);
}
public void display(String url, ImageView imageView) {
display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null);
}
//旋转图片 i表示角度
public void display(String url, ImageView imageView, int i, boolean isHorizontal) {
display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null, i);
}
public void display(String url, ImageView imageView, ScaleType scaleType, OnLoadingCompleteListener listener) {
display(url, imageView, R.drawable.ocupy, scaleType, listener);
}
public void display(String url, ImageView imageView, OnLoadingCompleteListener listener) {
display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, listener);