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);
}