5

我需要相机出现在 android 的特定屏幕区域这是我用于相机活动的代码

现在相机正在工作,但它占据了整个屏幕我希望相机出现在屏幕的特定区域怎么做?

 private void uploadPhoto(String name) {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        File file = new File(Environment.getExternalStorageDirectory(), name
                + ".jpg");
        mImageCaptureUri = Uri.fromFile(file);
        try {
            intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
                    mImageCaptureUri);
            intent.putExtra("return-data", true);
            startActivityForResult(intent, PICK_FROM_CAMERA);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
4

3 回答 3

3

当您使用相机意图时,您正在打开默认相机应用程序。但是如果您需要在屏幕的特定部分显示相机,您应该考虑制作自己的相机应用程序。阅读此处了解更多信息http://developer.android.com/guide/topics/media/camera.html

于 2012-10-04T05:29:04.320 回答
3

在您的代码startActivityForResult(intent, PICK_FROM_CAMERA);中启动一个隐式意图并启动相机应用程序。它是一个完全不同的应用程序,因此默认情况下它将占据整个屏幕。您不能将其限制在屏幕的特定部分。如果您需要,您将需要创建自己的自定义相机。有很多可用的教程。你可以从这里开始。

于 2012-10-04T05:31:19.693 回答
3

您不能为此使用意图。如果您使用意图,它将启动相机应用程序。相反,您需要使用称为相机预览的东西。这将向用户显示相机看到的内容,然后您可以使用 API 来控制相机操作。

这是来自官方开发者文档的一个非常好的教程: https ://developer.android.com/guide/topics/media/camera.html#custom-camera

于 2012-10-04T05:34:25.603 回答