繁体   English   中英

Android完成动作使用

[英]Android Complete Action Using

嗨,我有这个按钮,当我点击它时,我想启动一个Complete Action Using窗口,允许我在相机和图库之间进行选择。

除了创建对话框之外,还有更简单的方法来实现它。

   AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage(
                    context.getString(R.string.Select_an_Option_to_add_Photo))
                    .setCancelable(true)
                    .setPositiveButton(context.getString(R.string.Camera),
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    try {
                                        Intent action = new Intent(
                                                "android.media.action.IMAGE_CAPTURE");
                                        action.putExtra(
                                                MediaStore.EXTRA_OUTPUT,
                                                MediaStore.Images.Media.EXTERNAL_CONTENT_URI
                                                        .toString());
                                        startActivityForResult(action, 8);
                                    } catch (Exception e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                }

                            })
                    .setNegativeButton(context.getString(R.string.Gallery),
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();

                                    try {
                                        Intent photoPickerIntent = new Intent(
                                                Intent.ACTION_GET_CONTENT);
                                        photoPickerIntent.setType("image/*");
                                        startActivityForResult(photoPickerIntent, 1);
                                    } catch (Exception e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                }
                            });
            alert = builder.create();

现在

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == RESULT_OK && requestCode == 8) {

            Bitmap photoBitMap = (Bitmap) data.getExtras().get("data");

            Bitmap usableBMP = Bitmap.createScaledBitmap(photoBitMap, 68, 80,
                    true);
//This is my ImageView Object           
cameraButton.setImageBitmap(usableBMP);
            cameraButton.setScaleType(ScaleType.CENTER_INSIDE);
        } else if (resultCode == RESULT_OK) {
            Uri chosenImageUri = data.getData();
            try {
//Here I scale my Bitmap as desired
                photoBitMap = Media.getBitmap(this.getContentResolver(),
                        chosenImageUri);
                Bitmap usableBMP = Bitmap.createScaledBitmap(photoBitMap, 68,
                        80, true);

//this is my ImageView Object
                cameraButton.setImageBitmap(usableBMP);
                cameraButton.setScaleType(ScaleType.CENTER_INSIDE);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM