小编Pau*_*rat的帖子

OnImageSavedCallback 返回的 OutputFileResults 具有无效的 Uri

我正在使用 CameraX 在我的 android 应用程序中拍照,保存它们,然后从它们的路径中显示它们。在之前的 alpha-09 版本中,我可以使用 onImageSaved(File file) 来做到这一点。但是,对于 alpha-10,我必须使用 onImageSaved(OutputFileResults outputFileResults),然后从 outputFileResults 检索的 uri 中获取路径。但是我得到的 Uri 总是错误的。例如,当我的图像保存在:“/external/images/media/1581680878237.jpg”时,我得到 uri 的路径:“/external/images/media/113758”。

这是我的代码:

                ContentValues contentValues = new ContentValues();
                contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "NEW_IMAGE");
                contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpg");

                ImageCapture.OutputFileOptions outputFileOptions = new ImageCapture.OutputFileOptions.Builder(
                        activity.getContentResolver(),
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        contentValues).build();

                imageCapture.takePicture(outputFileOptions, Runnable::run, new ImageCapture.OnImageSavedCallback() {
                    @Override
                    public void onImageSaved(@NonNull ImageCapture.OutputFileResults outputFileResults) {
                        Uri uri = outputFileResults.getSavedUri();
                        if(uri != null){
                            System.out.println("URI PATH" + uri.getPath());
                            System.out.println("URI PATH" + uri.toString());
                            activity.runOnUiThread(cameraProvider::unbindAll);
                            galleryAddPic(uri);
                            Bundle params = new Bundle();
                            params.putString("FILE_PATH", uri.getPath());
                            Navigation.findNavController(root).navigate(R.id.navigation_edit_image, params);
                        }
                    }

                    @Override …
Run Code Online (Sandbox Code Playgroud)

uri android-camerax

6
推荐指数
2
解决办法
2191
查看次数

如何更改 MaterialAlertDialog 中项目的文本颜色?

我正在尝试更改单个选择 MaterialViewAlertDialog 中项目的文本颜色。我实现了更改“RadioButton”颜色和标题颜色,但无法更改项目的文本颜色。现在我使用以下样式:

<style name="AlertDialog" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
        <item name="android:titleTextColor">@color/colorText</item>
        <item name="android:textColorSecondary">@color/colorText</item>
        <item name="android:textColorAlertDialogListItem">@color/colorText</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 textAppearanceListItem 更改项目的文本颜色,但它不起作用。

android android-alertdialog material-design material-components material-components-android

2
推荐指数
1
解决办法
1112
查看次数