package com.jerey.keepgank.activity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;
import com.jerey.animationlib.AnimationHelper;
import com.jerey.keepgank.R;
import com.jerey.keepgank.View.PinchImageView;
import com.jerey.keepgank.base.AppSwipeBackActivity;
import com.jerey.keepgank.utils.ImageSave;
import com.jerey.loglib.LogTools;
import butterknife.Bind;
import butterknife.ButterKnife;
/**
* Created by Xiamin on 2017/3/2.
*/
public class PhotoActivity extends AppSwipeBackActivity implements View.OnClickListener {
private static final String TAG = "PhotoActivity";
private static final String URL = "URL";
@Bind(R.id.meizi_image)
PinchImageView pinchImageView;
@Bind(R.id.btn_back)
ImageView mBtnBack;
@Bind(R.id.btn_save)
ImageView mBtnSave;
private String mUrl;
private Bitmap mBitmap;
public static void startActivity(AppCompatActivity activity, String url, View transitionView) {
Intent intent = new Intent(activity, PhotoActivity.class);
intent.putExtra(URL, url);
// 这里指定了共享的视图元素
// ActivityOptionsCompat options = ActivityOptionsCompat
// .makeSceneTransitionAnimation(activity, transitionView, "image");
//
// ActivityCompat.startActivity(activity, intent, options.toBundle());
// 使用覆盖动画, 体验更好
AnimationHelper.startActivity(activity,intent,transitionView,R.color.app_main_color);
}
public static void startActivity1(Context context, String url) {
Intent intent = new Intent(context, PhotoActivity.class);
intent.putExtra(URL, url);
context.startActivity(intent);
((Activity) context).overridePendingTransition(R.anim.in_from_right, 0);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
ButterKnife.bind(this);
mBtnBack.setOnClickListener(this);
mBtnSave.setOnClickListener(this);
Intent intent = getIntent();
mUrl = intent.getStringExtra(URL);
LogTools.d(TAG, "url: " + mUrl);
Glide.with(this)
.load(mUrl)
.asBitmap()
.error(R.drawable.bg_cyan)
.placeholder(R.drawable.bg_cyan)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
pinchImageView.setImageBitmap(resource);
mBitmap = resource;
}
});
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_back:
LogTools.d("点击back,结束Activity");
finish();
overridePendingTransition(R.anim.out_to_bottom, 0);
break;
case R.id.btn_save:
LogTools.d("点击保存,保存图片");
Toast.makeText(this, "保存图片", Toast.LENGTH_SHORT).show();
ImageSave.with(getApplicationContext())
.save(mBitmap)
.setImageSaveListener(new ImageSave.ImageSaveListener() {
@Override
public void onSuccess() {
Toast.makeText(PhotoActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
}
@Override
public void onError() {
Toast.makeText(PhotoActivity.this, "保存失败", Toast.LENGTH_SHORT).show();
}
});
break;
}
}
}