增加 正文字号设置,加载Gif,Httpdns防止网络劫持,游戏截图横屏修改
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package com.gh.gamecenter;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@ -22,16 +23,17 @@ import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.view.Gh_ImageLayout;
|
||||
import com.gh.common.view.Gh_ImageLayout.OnSingleTapListener;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
|
||||
//import com.facebook.drawee.backends.pipeline.Fresco;
|
||||
//import com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilder;
|
||||
//import com.facebook.drawee.view.SimpleDraweeView;
|
||||
//import com.facebook.imagepipeline.request.ImageRequest;
|
||||
//import com.facebook.imagepipeline.request.ImageRequestBuilder;
|
||||
import pl.droidsonroids.gif.GifDrawable;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
|
||||
/**
|
||||
* 查看游戏截图页面
|
||||
@ -49,7 +51,9 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
private int current;
|
||||
private int width;
|
||||
private String scaleType;
|
||||
|
||||
private ImageView imageView;
|
||||
private boolean isOrientation;
|
||||
private boolean isLoading = false;
|
||||
private Handler handler = new Handler() {
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
@ -95,6 +99,7 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
current = savedInstanceState.getInt("currentItem", 0);
|
||||
isOrientation = savedInstanceState.getBoolean("isOrientation");
|
||||
}
|
||||
|
||||
setContentView(R.layout.activity_viewimage);
|
||||
@ -116,12 +121,25 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
viewimage_vp_show.setAdapter(adapter);
|
||||
viewimage_vp_show.setCurrentItem(current);
|
||||
viewimage_vp_show.addOnPageChangeListener(this);
|
||||
|
||||
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
|
||||
|
||||
{
|
||||
isOrientation = true; // 横屏
|
||||
|
||||
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
|
||||
|
||||
{
|
||||
isOrientation = false;// 竖屏
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putInt("currentItem", viewimage_vp_show.getCurrentItem());
|
||||
outState.putBoolean("isOrientation", isOrientation);
|
||||
}
|
||||
|
||||
private class ViewImageAdapter extends PagerAdapter implements
|
||||
@ -129,6 +147,9 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
if (urls == null) {
|
||||
return 0;
|
||||
}
|
||||
return urls.size();
|
||||
}
|
||||
|
||||
@ -138,30 +159,29 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
Gh_ImageLayout view = (Gh_ImageLayout) View.inflate(container.getContext(),
|
||||
R.layout.viewimage_item, null);
|
||||
view.setOnSingleTapListener(this);
|
||||
// if (url.contains(".gif")) {
|
||||
// SimpleDraweeView simpleDraweeView = (SimpleDraweeView) view.findViewById(R.id.test_gif);
|
||||
// ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
|
||||
// .build();
|
||||
// PipelineDraweeControllerBuilder controllerBuilder = Fresco.newDraweeControllerBuilder()
|
||||
// .setAutoPlayAnimations(true)
|
||||
// .setTapToRetryEnabled(true)
|
||||
// .setImageRequest(imageRequest);
|
||||
// simpleDraweeView.setController(controllerBuilder.build());
|
||||
// ViewParent parent = simpleDraweeView.getParent();
|
||||
//
|
||||
// if (parent != null) {
|
||||
// ViewGroup parent1 = (ViewGroup) parent;
|
||||
// parent1.removeView(simpleDraweeView);
|
||||
// }
|
||||
// container.addView(simpleDraweeView);
|
||||
// return simpleDraweeView;
|
||||
//
|
||||
// } else {
|
||||
ImageView imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
|
||||
if (url.contains(".gif")) {
|
||||
GifImageView gifImageView = (GifImageView) view.findViewById(R.id.gifView);
|
||||
ViewParent parent = gifImageView.getParent();
|
||||
if (!isLoading) {
|
||||
LoadGifData(gifImageView, urls.get(position));
|
||||
}
|
||||
|
||||
if (parent != null) {
|
||||
ViewGroup parent1 = (ViewGroup) parent;
|
||||
parent1.removeView(gifImageView);
|
||||
}
|
||||
container.addView(gifImageView);
|
||||
return gifImageView;
|
||||
|
||||
} else {
|
||||
imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
|
||||
if (scaleType != null) {
|
||||
ImageUtils.getInstance(getApplicationContext()).display(
|
||||
urls.get(position), imageView, ScaleType.FIT_CENTER);
|
||||
} else {
|
||||
} else if (isOrientation && imageView.getDrawable() == null) {
|
||||
ImageUtils.getInstance(getApplicationContext()).display(
|
||||
urls.get(position), imageView, 270, isOrientation);
|
||||
} else if (imageView.getDrawable() == null) {
|
||||
ImageUtils.getInstance(getApplicationContext()).display(
|
||||
urls.get(position), imageView);
|
||||
}
|
||||
@ -177,10 +197,52 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
view.setTag(position);
|
||||
container.addView(imageView);
|
||||
return imageView;
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void LoadGifData(final GifImageView gifImageView, final String gifUrl) {
|
||||
isLoading = true;
|
||||
gifImageView.setImageResource(R.drawable.ocupy);
|
||||
gifImageView.setScaleType(ScaleType.CENTER);
|
||||
final GifDrawable[] gifDrawable = {null};
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
URL url = new URL(gifUrl);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setConnectTimeout(5 * 1000);
|
||||
conn.setReadTimeout(5 * 1000);
|
||||
conn.connect();
|
||||
if (conn.getResponseCode() == 200) {
|
||||
InputStream inputStream = conn.getInputStream();
|
||||
ByteArrayOutputStream output = new ByteArrayOutputStream();
|
||||
byte[] data = new byte[1024 * 5];
|
||||
int count = -1;
|
||||
while ((count = inputStream.read(data, 0, 1024 * 5)) != -1) {
|
||||
output.write(data, 0, count);
|
||||
}
|
||||
byte[] bytes = output.toByteArray();
|
||||
gifDrawable[0] = new GifDrawable(bytes);
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
gifImageView.setImageDrawable(gifDrawable[0]);
|
||||
gifImageView.setScaleType(ScaleType.FIT_CENTER);
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewFromObject(View view, Object object) {
|
||||
return view == object;
|
||||
@ -235,6 +297,10 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
int code = connection.getResponseCode();
|
||||
if (code == 200) {
|
||||
//图片存在
|
||||
if (urls == null) {
|
||||
return;
|
||||
}
|
||||
//urls出现空指针
|
||||
for (int i = 0, size = urls.size(); i < size; i++) {
|
||||
if (urls.get(i).equals(url)) {
|
||||
urls.set(i, newUrl);
|
||||
@ -260,5 +326,7 @@ public class ViewImageActivity extends BaseActivity implements
|
||||
viewimage_slide_line = null;
|
||||
rparams = null;
|
||||
urls = null;
|
||||
imageView = null;
|
||||
System.gc();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user