1

Android 用の PDF ライブラリPSPDFKit を調査しています。

// Inside my app's dependencies {}
implementation 'com.pspdfkit:pspdfkit-demo:4.0.2'

ライブラリは印象的で、「すぐに使える」多くの貴重な機能を備えています。ただし、メモ注釈の作成時に表示されるダイアログ フラグメントで問題が発生しました。

アプリケーションが表示する PDF では複数のユーザーが注釈を追加/編集できるため、カスタマイズされたダイアログ UI が必要です。これには、注釈を編集するときに表示されるダイアログに、注釈を作成したユーザー プロファイル イメージと氏名が含まれている必要があります。

アプリケーションで子フラグメントとして使用com.pspdfkit.ui.PdfFragmentしていますが、Note 注釈を作成および/または編集するときにカスタム dialogFragment を提供できる方法がわかりません。

PSPDFKit でメモ フラグメントを作成/編集するときに表示されるダイアログ フラグメントをカスタマイズすることは可能ですか?

ソースコードを見ると、PSPDFKit 内でオーバーライドする必要があるのはこのメソッドです。

public void enterAnnotationCreationMode(@NonNull final AnnotationTool annotationTool) {
        this.viewCoordinator.a(new b() {
            public void run(@NonNull FrameLayout container, @NonNull PdfPasswordView passwordView, @NonNull View errorView, @NonNull final DocumentView documentView) {
                el var10000 = com.pspdfkit.framework.a.d();
                PdfFragment.this.getContext();
                if(var10000.a(PdfFragment.this.configuration)) {
                    if(!PdfFragment.this.getAnnotationPreferences().isAnnotationCreatorSet()) {
                        AnnotationCreatorInputDialogFragment.show(PdfFragment.this.getActivity().getSupportFragmentManager(), (String)null, new OnAnnotationCreatorSetListener() {
                            public void onAnnotationCreatorSet(String annotationCreator) {
                                documentView.enterAnnotationCreationMode(annotationTool);
                            }

                            public void onAbort() {
                            }
                        });
                        com.pspdfkit.framework.a.f().a("show_annotation_creator_dialog").a();
                    } else {
                        documentView.enterAnnotationCreationMode(annotationTool);
                    }
                } else {
                    throw new PSPDFKitException("Entering annotation creation mode for " + annotationTool + " is not permitted, either by the license or configuration.");
                }
            }
        }, true);
    }
4

1 に答える 1