public class Frag04 extends Fragment{
private View view;
private ImageView image;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.frag04, container, false);
//控件
image = (ImageView) view.findViewById(R.id.image);
//点击弹框
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
View popView = View.inflate(getActivity(), R.layout.pop_item, null);
PopupWindow pop = new PopupWindow(popView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
pop.showAsDropDown(v, 0, 0);
//相机
popView.findViewById(R.id.btn_camera).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.addCategory("android.intent.category.DEFAULT");
startActivityForResult(intent, 1);
}
});
//相册
popView.findViewById(R.id.btn_image).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent2 = new Intent(Intent.ACTION_PICK);
intent2.setType("image/*");
startActivityForResult(intent2, 2);
}
});
pop.dismiss();
}
});
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
Bitmap bitmap = data.getParcelableExtra("data");
image.setImageBitmap(bitmap);
break;
case 2:
Uri uri = data.getData();
Intent crop = crop(uri);
startActivityForResult(crop, 3);
break;
case 3:
Bitmap bitmap2=(Bitmap) data.getExtras().get("data");
image.setImageBitmap(bitmap2);
break;
}
}
public Intent crop(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
//
intent.setDataAndType(uri, "image/*");
//截图
intent.putExtra("crop", true);
//比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
//宽高
intent.putExtra("outputX", 250);
intent.putExtra("outputY", 250);
//储存类型
intent.putExtra("outputFormat", "JPEG");
//返回类型
intent.putExtra("return-data", true);
return intent;
}
}