package com.bob.digcsdn; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.Toast; import com.bob.digcsdn.utils.FileUtil; import com.bob.digcsdn.utils.ImageLoading; /** * 一个单纯的用于显示图片的活动,可以下载,当然啦,是黑色背景 * Created by bob on 15-6-10. */ public class ImageActivity extends AppCompatActivity { private String url;//图片地址 private ImageView imageView;//一个可以支持手势的ImageView的库,支持双手,单手的操作(GestureImageView不支持长按事件,放弃) private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_image); init(); //listener需要通过imageLoader获取 ImageLoading imageLoading = ImageLoading.getInstance(); boolean result = imageLoading.loadImage(url, imageView, R.drawable.ic_default, R.drawable.ic_default); if (result) progressBar.setVisibility(View.GONE); else Toast.makeText(ImageActivity.this, "网络信号不佳", Toast.LENGTH_SHORT).show(); } private void init(){ Bundle bundle = getIntent().getExtras(); url = bundle.getString("url", ""); imageView = (ImageView) findViewById(R.id.img_pic); this.registerForContextMenu(imageView); progressBar = (ProgressBar) findViewById(R.id.pro_loading); } @Override public void finish() { super.finish(); overridePendingTransition(R.anim.push_no, R.anim.push_right_out);//设置退出动画 } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.menu_image_download, menu); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.mi1: finish(); break; case R.id.mi2: { imageView.setDrawingCacheEnabled(true);//使用缓存技术 if (FileUtil.write2SdCard(imageView.getDrawingCache(), url)) {//这个是保存到本地的方法 Toast.makeText(ImageActivity.this, "保存成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ImageActivity.this, "保存失败", Toast.LENGTH_SHORT).show(); } imageView.setDrawingCacheEnabled(false);//关闭缓存 }break; default: return super.onContextItemSelected(item); } return true; } }