package com.wisedu.scc.love.activity.image; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.widget.RelativeLayout; import com.wisedu.scc.love.R; import com.wisedu.scc.love.activity.base.BaseActivity; import com.wisedu.scc.love.config.Constants; import com.wisedu.scc.love.utils.CommonUtil; import com.wisedu.scc.love.widget.image.ClipImageLayout; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ViewById; import java.io.IOException; /** * Created by JZ on 2015/3/9. */ @EActivity(R.layout.activity_image_cut) public class ImageCutActivity extends BaseActivity { @ViewById(R.id.imageCutLayout) public RelativeLayout imageCutLayout; @AfterViews public void doAfterViews(){ ClipImageLayout clipImageLayout = new ClipImageLayout(getApplicationContext(), null); Drawable drawable = getDrawable(); clipImageLayout.setDrawable(drawable); android.view.ViewGroup.LayoutParams layoutParams = new RelativeLayout.LayoutParams( android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT); imageCutLayout.addView(clipImageLayout, layoutParams); } /** * 获取图片 * @return */ private Drawable getDrawable(){ Bitmap bitmap = null; // 取得参数 Bundle bundle = getIntent().getExtras(); String type = bundle.getString(Constants.TYPE); if(type.equals(Constants.TAKE)){ String path = bundle.getString("path"); bitmap = BitmapFactory.decodeFile(path, null); } else if(type.equals(Constants.PICK)){ Uri uri = bundle.getParcelable("uri"); try { bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); } catch (IOException e) { e.printStackTrace(); } } else { CommonUtil.shortToast(getApplicationContext(), "获取图片来源失败"); } if (bitmap != null) { Drawable drawable = new BitmapDrawable(getResources(), bitmap); return drawable; } else { return null; } } }