Browse Source

PDFTools(Android) - 1.修复添加Note颜色不一致问题

liuxiaolong 1 year ago
parent
commit
d611281223

+ 5 - 0
ComPDFKit_Tools/src/main/java/com/compdfkit/tools/common/utils/annotation/CPDFAnnotationManager.java

@@ -38,6 +38,7 @@ import com.compdfkit.tools.annotation.pdfproperties.pdfnote.CNoteEditDialog;
 import com.compdfkit.tools.common.views.pdfproperties.action.CActionEditDialogFragment;
 import com.compdfkit.tools.forms.pdfproperties.option.edit.CFormOptionEditFragment;
 import com.compdfkit.ui.attribute.CPDFFreetextAttr;
+import com.compdfkit.ui.attribute.CPDFTextAttr;
 import com.compdfkit.ui.proxy.CPDFBaseAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFFreetextAnnotImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
@@ -99,6 +100,8 @@ public class CPDFAnnotationManager {
         if (textAnnotation.isValid()) {
             CNoteEditDialog editDialog = CNoteEditDialog.newInstance(textAnnotation.getContent());
             editDialog.setSaveListener(v -> {
+                CPDFTextAttr textAttr = readerView.getReaderAttribute().getAnnotAttribute().getTextAttr();
+
                 RectF pageSize = readerView.getPageNoZoomSize(readerView.getPageNum());
                 RectF insertRect = new RectF(pointF.x, pointF.y, pointF.x + 50, pointF.y + 50);
                 insertRect = page.convertRectToPage(readerView.isCropMode(), pageSize
@@ -106,6 +109,8 @@ public class CPDFAnnotationManager {
                 textAnnotation.setRect(insertRect);
                 String content = editDialog.getContent();
                 textAnnotation.setContent(content);
+                textAnnotation.setColor(textAttr.getColor());
+                textAnnotation.setAlpha(textAttr.getAlpha());
                 textAnnotation.updateAp();
                 pageView.addAnnotation(textAnnotation, false);
                 editDialog.dismiss();