package com.anthony.imagepicker.imagepicker.ui; import android.content.DialogInterface; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AlertDialog; import android.view.View; import android.view.animation.AnimationUtils; import android.widget.ImageView; import com.anthony.imagepicker.R; import com.anthony.imagepicker.imagepicker.ImagePicker; /** * ================================================ * 作 者:jeasonlzy(廖子尧),ikkong (ikkong@163.com) * 版 本:1.0 * 创建日期:2016/5/19 * 描 述: * 修订历史:预览已经选择的图片,并可以删除, 感谢 ikkong 的提交 * ================================================ */ public class ImagePreviewDelActivity extends ImagePreviewBaseActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ImageView mBtnDel = (ImageView) findViewById(R.id.btn_del); mBtnDel.setOnClickListener(this); mBtnDel.setVisibility(View.VISIBLE); topBar.findViewById(R.id.btn_back).setOnClickListener(this); mTitleCount.setText(getString(R.string.preview_image_count, mCurrentPosition + 1, mImageItems.size())); //滑动ViewPager的时候,根据外界的数据改变当前的选中状态和当前的图片的位置描述文本 mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { mCurrentPosition = position; mTitleCount.setText(getString(R.string.preview_image_count, mCurrentPosition + 1, mImageItems.size())); } }); } @Override public void onClick(View v) { int id = v.getId(); if (id == R.id.btn_del) { showDeleteDialog(); } else if (id == R.id.btn_back) { onBackPressed(); } } /** 是否删除此张图片 */ private void showDeleteDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("要删除这张照片吗?"); builder.setNegativeButton("取消", null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //移除当前图片刷新界面 mImageItems.remove(mCurrentPosition); if (mImageItems.size() > 0) { mAdapter.setData(mImageItems); mAdapter.notifyDataSetChanged(); mTitleCount.setText(getString(R.string.preview_image_count, mCurrentPosition + 1, mImageItems.size())); } else { onBackPressed(); } } }); builder.show(); } @Override public void onBackPressed() { Intent intent = new Intent(); //带回最新数据 intent.putExtra(ImagePicker.EXTRA_IMAGE_ITEMS, mImageItems); setResult(ImagePicker.RESULT_CODE_BACK, intent); finish(); super.onBackPressed(); } /** 单击时,隐藏头和尾 */ @Override public void onImageSingleTap() { if (topBar.getVisibility() == View.VISIBLE) { topBar.setAnimation(AnimationUtils.loadAnimation(this, R.anim.top_out)); topBar.setVisibility(View.GONE); tintManager.setStatusBarTintResource(R.color.transparent);//通知栏所需颜色 //给最外层布局加上这个属性表示,Activity全屏显示,且状态栏被隐藏覆盖掉。 if (Build.VERSION.SDK_INT >= 16) content.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); } else { topBar.setAnimation(AnimationUtils.loadAnimation(this, R.anim.top_in)); topBar.setVisibility(View.VISIBLE); tintManager.setStatusBarTintResource(R.color.status_bar);//通知栏所需颜色 //Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住 if (Build.VERSION.SDK_INT >= 16) content.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } } }