Переглянути джерело

PDFTools(Android) - 1.Form 暗黑模式优化 2.优化代码

liuxiaolong 1 рік тому
батько
коміт
b045994594
100 змінених файлів з 446 додано та 843 видалено
  1. 1 0
      annotation-ctrl-demo/src/main/AndroidManifest.xml
  2. BIN
      compdfkit-repo/compdfkit-ui/ComPDFKit-UI.aar
  3. BIN
      compdfkit-repo/compdfkit/ComPDFKit.aar
  4. 1 0
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfannotationlist/data/CPDFAnnotDatas.java
  5. 10 14
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CFreeTextStyleFragment.java
  6. 0 76
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CFreeTextTypefaceListFragment.java
  7. 0 65
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CTypefaceListAdapter.java
  8. 24 6
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdflink/CLinkStyleDialogFragment.java
  9. 10 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdflnk/CInkStyleFragment.java
  10. 8 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfmarkup/CMarkupStyleFragment.java
  11. 9 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfnote/CNoteStyleFragment.java
  12. 18 23
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfshape/CShapeStyleFragment.java
  13. 5 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfsignature/CAddSignatureActivity.java
  14. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfstyle/CAnnotImplStyle.java
  15. 2 7
      compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfstyle/CPDFGlobalAnnotStyle.java
  16. 0 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CCheckBoxContextMenuView.java
  17. 3 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CPDFContextMenuHelper.java
  18. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CRadioButtonContextMenuView.java
  19. 0 10
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CSignatureContextMenuView.java
  20. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CStampContextMenuView.java
  21. 0 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CTextFieldContextMenuView.java
  22. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuCheckBoxProvider.java
  23. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuComboBoxProvider.java
  24. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuEditImageProvider.java
  25. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuEditTextProvider.java
  26. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuFormSignProvider.java
  27. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuListBoxProvider.java
  28. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuRadioButtonProvider.java
  29. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuTextFieldProvider.java
  30. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/CWrapHeightPageChangeCallback.java
  31. 19 12
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/CColorPickerFragment.java
  32. 11 4
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/ColorPickerDialogFragment.java
  33. 38 9
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/widget/ColorPickerView.java
  34. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/window/CModeSwitchDialogFragment.java
  35. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CPageEditToolBar.java
  36. 1 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfannotationbar/data/CAnnotationToolDatas.java
  37. 0 9
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/CFormToolbar.java
  38. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/adapter/CPDFFormToolListAdapter.java
  39. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/bean/CFormToolBean.java
  40. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfpageedit/CInsertBlankPageDialogFragment.java
  41. 0 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfpageedit/CInsertPdfPageDialogFragment.java
  42. 8 31
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/basic/CBasicPropertiesFragment.java
  43. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/preview/CAnnotLineTypePreviewView.java
  44. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/textfields/CTextFieldsView.java
  45. 5 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/writing/CKMHandWritingHelper.java
  46. 3 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/writing/CKmWritingView.java
  47. 19 58
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleDialogFragment.java
  48. 0 22
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleFragmentAdapter.java
  49. 18 0
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleFragmentDatas.java
  50. 26 21
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/manager/CStyleManager.java
  51. 2 0
      compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFViewCtrl.java
  52. 9 2
      compdfkit-tools/src/main/java/com/compdfkit/tools/edit/pdfproperties/CEditTextProperFragment.java
  53. 12 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/option/edit/CFormOptionEditFragment.java
  54. 7 0
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/option/select/CFormOptionSelectDialogFragment.java
  55. 21 34
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/CheckBoxStyleFragment.java
  56. 0 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/CheckBoxStyleListFragment.java
  57. 0 5
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/adapter/CheckStyleListAdapter.java
  58. 18 45
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdflistbox/CListBoxStyleFragment.java
  59. 0 3
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfstyle/CFormStyle.java
  60. 28 52
      compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdftextfield/CTextFieldStyleFragment.java
  61. 1 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/CPDFBookmarkFragment.java
  62. 0 1
      compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/CPDFEditThumbnailFragment.java
  63. 19 0
      compdfkit-tools/src/main/res/drawable-night/tools_form.xml
  64. 10 0
      compdfkit-tools/src/main/res/drawable-night/tools_page_edit.xml
  65. 19 0
      compdfkit-tools/src/main/res/drawable/tools_form.xml
  66. 10 0
      compdfkit-tools/src/main/res/drawable/tools_page_edit.xml
  67. 2 1
      compdfkit-tools/src/main/res/layout/tools_bota_annotation_list_item_content.xml
  68. 0 1
      compdfkit-tools/src/main/res/layout/tools_pageedit_insert_blank_page_dialog_fragment.xml
  69. 0 1
      compdfkit-tools/src/main/res/layout/tools_pageedit_insert_pdf_page_dialog_fragment.xml
  70. 5 2
      compdfkit-tools/src/main/res/layout/tools_pdf_mode_switch_dialog_fragment.xml
  71. 5 6
      compdfkit-tools/src/main/res/layout/tools_properties_check_box_style_fragment.xml
  72. 0 1
      compdfkit-tools/src/main/res/layout/tools_properties_checkbox_style_list_fragment.xml
  73. 0 10
      compdfkit-tools/src/main/res/layout/tools_properties_free_text_typeface_list_fragment.xml
  74. 0 24
      compdfkit-tools/src/main/res/layout/tools_properties_free_text_typeface_list_item.xml
  75. 5 0
      compdfkit-tools/src/main/res/values/tools_attrs.xml
  76. 2 0
      compdfkit-tools/src/main/res/values/tools_strings.xml
  77. 6 1
      form-ctrl-demo/src/main/AndroidManifest.xml
  78. 10 11
      form-ctrl-demo/src/main/java/com/compdfkit/demo/form/PDFFormSampleActivity.java
  79. 0 30
      form-ctrl-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml
  80. 0 170
      form-ctrl-demo/src/main/res/drawable/ic_launcher_background.xml
  81. 5 0
      form-ctrl-demo/src/main/res/mipmap-anydpi-v26/form_ic_launcher.xml
  82. 5 0
      form-ctrl-demo/src/main/res/mipmap-anydpi-v26/form_ic_launcher_round.xml
  83. 0 5
      form-ctrl-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  84. 0 5
      form-ctrl-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  85. 6 0
      form-ctrl-demo/src/main/res/mipmap-anydpi-v33/form_ic_launcher.xml
  86. 0 6
      form-ctrl-demo/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
  87. BIN
      form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher.png
  88. BIN
      form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher_foreground.png
  89. BIN
      form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher_round.png
  90. BIN
      form-ctrl-demo/src/main/res/mipmap-hdpi/ic_launcher.webp
  91. BIN
      form-ctrl-demo/src/main/res/mipmap-hdpi/ic_launcher_round.webp
  92. BIN
      form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher.png
  93. BIN
      form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher_foreground.png
  94. BIN
      form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher_round.png
  95. BIN
      form-ctrl-demo/src/main/res/mipmap-mdpi/ic_launcher.webp
  96. BIN
      form-ctrl-demo/src/main/res/mipmap-mdpi/ic_launcher_round.webp
  97. BIN
      form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher.png
  98. BIN
      form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher_foreground.png
  99. BIN
      form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher_round.png
  100. 0 0
      form-ctrl-demo/src/main/res/mipmap-xhdpi/ic_launcher.webp

+ 1 - 0
annotation-ctrl-demo/src/main/AndroidManifest.xml

@@ -9,6 +9,7 @@
         android:icon="@mipmap/annotation_ic_launcher"
         android:label="@string/annotation_app_name"
         android:supportsRtl="true"
+        android:requestLegacyExternalStorage="true"
         android:theme="@style/Annotation_Basic_Theme">
         <activity
             android:name=".PDFAnnotationSampleActivity"

BIN
compdfkit-repo/compdfkit-ui/ComPDFKit-UI.aar


BIN
compdfkit-repo/compdfkit/ComPDFKit.aar


+ 1 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfannotationlist/data/CPDFAnnotDatas.java

@@ -111,6 +111,7 @@ public class CPDFAnnotDatas {
                     CPDFInkAnnotation cpdfInkAnnotation = (CPDFInkAnnotation) cpdfAnnotation;
                     attrColor = cpdfInkAnnotation.getColor();
                     attrAlpha = cpdfInkAnnotation.getAlpha();
+                    attrContent = cpdfInkAnnotation.getContent();
                     break;
                 case LINE:
                     CPDFLineAnnotation lineAnnotation = (CPDFLineAnnotation) cpdfAnnotation;

+ 10 - 14
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CFreeTextStyleFragment.java

@@ -12,10 +12,10 @@ import android.widget.Spinner;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatImageView;
-import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.core.annotation.CPDFTextAttribute;
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
@@ -23,11 +23,13 @@ import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.font.CFontSpinnerAdapter;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements View.OnClickListener, ColorPickerView.COnColorChangeListener {
+public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements View.OnClickListener,
+        ColorPickerView.COnColorChangeListener,ColorPickerView.COnColorAlphaChangeListener {
 
     private CStylePreviewView previewView;
 
@@ -35,8 +37,6 @@ public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements
 
     private CSliderBar opacitySliderBar;
 
-    private AppCompatTextView tvFontType;
-
     private AppCompatImageView ivFontItalic;
 
     private AppCompatImageView ivFontBold;
@@ -62,7 +62,6 @@ public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements
         previewView = rootView.findViewById(R.id.style_preview);
         colorListView = rootView.findViewById(R.id.border_color_list_view);
         opacitySliderBar = rootView.findViewById(R.id.slider_bar);
-        tvFontType = rootView.findViewById(R.id.tv_font_type);
         ivFontItalic = rootView.findViewById(R.id.iv_font_italic);
         ivFontBold = rootView.findViewById(R.id.iv_font_bold);
         llAlignment = rootView.findViewById(R.id.ll_alignment_type);
@@ -72,7 +71,6 @@ public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements
         fontSizeSliderBar = rootView.findViewById(R.id.font_size_slider_bar);
         fontSpinner = rootView.findViewById(R.id.spinner_font);
 
-        tvFontType.setOnClickListener(this);
         ivFontItalic.setOnClickListener(this);
         ivFontBold.setOnClickListener(this);
         ivAlignmentLeft.setOnClickListener(this);
@@ -138,7 +136,11 @@ public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements
         colorListView.setOnColorSelectListener(this::color);
         colorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity(), this);
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity());
+                colorPickerFragment.setColorPickerListener(this);
+                colorPickerFragment.setColorAlphaChangeListener(this);
+            });
         });
         opacitySliderBar.setChangeListener((progress, percentageValue, isStop) -> opacity(progress));
         fontSizeSliderBar.setChangeListener((progress, percentageValue, isStop) -> {
@@ -179,13 +181,7 @@ public class CFreeTextStyleFragment extends CBasicPropertiesFragment implements
 
     @Override
     public void onClick(View v) {
-        if (v.getId() == R.id.tv_font_type) {
-            showFontTypeFragment(viewModel.getStyle().getFontType(), fontType -> {
-                if (viewModel != null) {
-                    viewModel.getStyle().setFontType(fontType);
-                }
-            });
-        } else if (v.getId() == R.id.iv_font_bold) {
+        if (v.getId() == R.id.iv_font_bold) {
             ivFontBold.setSelected(!ivFontBold.isSelected());
             if (viewModel != null) {
                 viewModel.getStyle().setFontBold(ivFontBold.isSelected());

+ 0 - 76
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CFreeTextTypefaceListFragment.java

@@ -1,76 +0,0 @@
-/**
- * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- *
- * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
- * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
- * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
- * This notice may not be removed from this file.
- */
-
-package com.compdfkit.tools.annotation.pdfproperties.pdffreetext;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.compdfkit.core.annotation.CPDFTextAttribute;
-import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
-
-
-public class CFreeTextTypefaceListFragment extends CBasicPropertiesFragment {
-
-    private RecyclerView rvTypeface;
-
-    private OnSelectTypefaceListener typefaceListener;
-    private CTypefaceListAdapter typefaceListAdapter;
-
-    public static CFreeTextTypefaceListFragment newInstance() {
-        Bundle args = new Bundle();
-        CFreeTextTypefaceListFragment fragment = new CFreeTextTypefaceListFragment();
-        fragment.setArguments(args);
-        return fragment;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View rootView = inflater.inflate(R.layout.tools_properties_free_text_typeface_list_fragment, container, false);
-        rvTypeface = rootView.findViewById(R.id.rv_typeface);
-        return rootView;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        typefaceListAdapter = new CTypefaceListAdapter();
-        typefaceListAdapter.setOnItemClickListener((adapter, view1, position) -> {
-            typefaceListAdapter.setSelectFontType(adapter.list.get(position));
-            if (typefaceListener != null) {
-                typefaceListener.typeface(adapter.list.get(position));
-            }
-        });
-        rvTypeface.setLayoutManager(new LinearLayoutManager(getContext()));
-        rvTypeface.setAdapter(typefaceListAdapter);
-    }
-
-    public void setTypefaceListener(OnSelectTypefaceListener typefaceListener) {
-        this.typefaceListener = typefaceListener;
-    }
-
-    public void setFontType(CPDFTextAttribute.FontNameHelper.FontType fontType){
-        if (typefaceListAdapter != null) {
-            typefaceListAdapter.setSelectFontType(fontType);
-        }
-    }
-
-    public interface OnSelectTypefaceListener{
-        void typeface(CPDFTextAttribute.FontNameHelper.FontType fontType);
-    }
-}

+ 0 - 65
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdffreetext/CTypefaceListAdapter.java

@@ -1,65 +0,0 @@
-/**
- * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- * <p>
- * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
- * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
- * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
- * This notice may not be removed from this file.
- */
-
-package com.compdfkit.tools.annotation.pdfproperties.pdffreetext;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.Typeface;
-import android.view.ViewGroup;
-
-import androidx.appcompat.widget.AppCompatTextView;
-import androidx.cardview.widget.CardView;
-import androidx.core.content.ContextCompat;
-
-import com.compdfkit.core.annotation.CPDFTextAttribute;
-import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.adapter.CBaseQuickAdapter;
-import com.compdfkit.tools.common.utils.adapter.CBaseQuickViewHolder;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-class CTypefaceListAdapter extends CBaseQuickAdapter<CPDFTextAttribute.FontNameHelper.FontType, CBaseQuickViewHolder> {
-
-    private CPDFTextAttribute.FontNameHelper.FontType selectFontType;
-
-
-    public CTypefaceListAdapter() {
-        List<CPDFTextAttribute.FontNameHelper.FontType> fontTypes = new ArrayList<>();
-        fontTypes.add(CPDFTextAttribute.FontNameHelper.FontType.Courier);
-        fontTypes.add(CPDFTextAttribute.FontNameHelper.FontType.Helvetica);
-        fontTypes.add(CPDFTextAttribute.FontNameHelper.FontType.Times_Roman);
-        setList(fontTypes);
-    }
-
-    @Override
-    protected CBaseQuickViewHolder onCreateViewHolder(Context context, ViewGroup parent, int viewType) {
-        return new CBaseQuickViewHolder(R.layout.tools_properties_free_text_typeface_list_item, parent);
-    }
-
-    @Override
-    protected void onBindViewHolder(CBaseQuickViewHolder holder, int position, CPDFTextAttribute.FontNameHelper.FontType item) {
-        holder.setText(R.id.tv_typeface, item.name());
-        AppCompatTextView textView = holder.getView(R.id.tv_typeface);
-        String fontName = CPDFTextAttribute.FontNameHelper.obtainFontName(item, false, false);
-        Typeface typeface = CPDFTextAttribute.FontNameHelper.getInnerTypeface(textView.getContext(), fontName);
-        textView.setTypeface(typeface);
-
-        CardView cardView = holder.getView(R.id.card_view);
-        cardView.setCardBackgroundColor(item == selectFontType ? ContextCompat.getColor(holder.itemView.getContext(), R.color.tools_color_primary) : Color.WHITE);
-    }
-
-    public void setSelectFontType(CPDFTextAttribute.FontNameHelper.FontType fontType) {
-        this.selectFontType = fontType;
-        notifyDataSetChanged();
-    }
-
-}

+ 24 - 6
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdflink/CLinkStyleDialogFragment.java

@@ -57,7 +57,7 @@ public class CLinkStyleDialogFragment extends BottomSheetDialogFragment implemen
 
     private int currentPage = -1;
 
-    private String url = "http://";
+    private String url = "";
 
     private String email = "";
 
@@ -134,6 +134,21 @@ public class CLinkStyleDialogFragment extends BottomSheetDialogFragment implemen
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
                 checkEnableSaveBtn();
+                if (tabLayout.getSelectedTabPosition() == 0) {
+                    url = TextUtils.isEmpty(s) ? "" : s.toString();
+                } else if (tabLayout.getSelectedTabPosition() == 1) {
+                    if (TextUtils.isEmpty(s)){
+                        currentPage = 0;
+                    }else {
+                        try {
+                            currentPage = Integer.parseInt(s.toString().trim());
+                        }catch (Exception e){
+                            currentPage = 0;
+                        }
+                    }
+                } else if (tabLayout.getSelectedTabPosition() == 2) {
+                   email = TextUtils.isEmpty(s) ? "" : s.toString();
+                }
             }
 
             @Override
@@ -151,7 +166,7 @@ public class CLinkStyleDialogFragment extends BottomSheetDialogFragment implemen
         super.onViewCreated(view, savedInstanceState);
         if (getArguments() != null) {
             pageCount = getArguments().getInt(EXTRA_PAGE_COUNT, 1);
-            url = getArguments().getString(EXTRA_URL, "http://");
+            url = getArguments().getString(EXTRA_URL, "");
             email = getArguments().getString(EXTRA_EMAIL, "");
             currentPage = getArguments().getInt(EXTRA_CURRENT_PAGE, -1);
             selectIndex = getArguments().getInt(EXTRA_SELECT_INDEX, 0);
@@ -194,17 +209,20 @@ public class CLinkStyleDialogFragment extends BottomSheetDialogFragment implemen
 
     private void switchLinkType(boolean showKeyboard) {
         if (tabLayout.getSelectedTabPosition() == 0) {
-            etText.setHint(R.string.tools_please_enter_url);
+            etText.setHint(R.string.tools_compdf_website);
             etText.setText(url);
             etText.setSelection(url.length());
             etText.setInputType(InputType.TYPE_CLASS_TEXT);
         } else if (tabLayout.getSelectedTabPosition() == 1) {
-            etText.setHint("Page (1/" + pageCount + ")");
-            etText.setText(currentPage <=0 ? "" : String.valueOf(currentPage));
+            etText.setHint("1~" + pageCount);
+            String text = currentPage <=0 ? "" : String.valueOf(currentPage);
+            etText.setText(text);
+            etText.setSelection(text.length());
             etText.setInputType(InputType.TYPE_CLASS_NUMBER);
         } else if (tabLayout.getSelectedTabPosition() == 2) {
-            etText.setHint(R.string.tools_please_enter_email);
+            etText.setHint(R.string.tools_compdf_email);
             etText.setText(email);
+            etText.setSelection(email.length());
             etText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
         }
         checkEnableSaveBtn();

+ 10 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdflnk/CInkStyleFragment.java

@@ -19,14 +19,17 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
-public class CInkStyleFragment extends CBasicPropertiesFragment implements ColorPickerView.COnColorChangeListener {
+public class CInkStyleFragment extends CBasicPropertiesFragment implements ColorPickerView.COnColorChangeListener,
+ColorPickerView.COnColorAlphaChangeListener{
 
     private CColorListView colorListView;
 
@@ -67,7 +70,12 @@ public class CInkStyleFragment extends CBasicPropertiesFragment implements Color
         //Add a listener for clicks on the color picker item, which will display the color picker fragment
         colorListView.setColorPickerClickListener(() -> {
             //display the color picker fragment
-            showColorPickerFragment(viewModel.getStyle().getColor(), viewModel.getStyle().getOpacity(), this);
+            CAnnotStyle style = viewModel.getStyle();
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(style.getColor(), style.getOpacity());
+                colorPickerFragment.setColorPickerListener(this);
+                colorPickerFragment.setColorAlphaChangeListener(this);
+            });
         });
         //Add a listener for color opacity changes
         colorOpacitySliderBar.setChangeListener((opacity, percentageValue, isStop) -> opacity(opacity));

+ 8 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfmarkup/CMarkupStyleFragment.java

@@ -19,14 +19,16 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
-public class CMarkupStyleFragment extends CBasicPropertiesFragment implements ColorPickerView.COnColorChangeListener {
+public class CMarkupStyleFragment extends CBasicPropertiesFragment implements ColorPickerView.COnColorChangeListener,ColorPickerView.COnColorAlphaChangeListener {
 
     private CColorListView colorListView;
 
@@ -64,7 +66,11 @@ public class CMarkupStyleFragment extends CBasicPropertiesFragment implements Co
         colorListView.setColorPickerClickListener(()->{
             //show color picker fragment and set color change listener
             CAnnotStyle style = viewModel.getStyle();
-            showColorPickerFragment(style.getColor(), style.getOpacity(), this);
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(style.getColor(), style.getOpacity());
+                colorPickerFragment.setColorPickerListener(this);
+                colorPickerFragment.setColorAlphaChangeListener(this);
+            });
         });
         //Add a listener for color opacity changes
         colorOpacitySliderBar.setChangeListener((opacity, percentageValue, isStop) ->{

+ 9 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfnote/CNoteStyleFragment.java

@@ -19,12 +19,14 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.views.pdfproperties.CAnnotationType;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 
 /**
@@ -34,7 +36,8 @@ import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
  *
  * @see CAnnotationType#TEXT
  */
-public class CNoteStyleFragment extends CBasicPropertiesFragment implements ColorPickerView.COnColorChangeListener {
+public class CNoteStyleFragment extends CBasicPropertiesFragment
+        implements ColorPickerView.COnColorChangeListener,ColorPickerView.COnColorAlphaChangeListener {
 
     private CColorListView colorListView;
 
@@ -68,7 +71,11 @@ public class CNoteStyleFragment extends CBasicPropertiesFragment implements Colo
         colorListView.setColorPickerClickListener(()->{
             //display the color picker fragment
             CAnnotStyle style = viewModel.getStyle();
-            showColorPickerFragment(style.getColor(), style.getOpacity(), this);
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(style.getColor(), style.getOpacity());
+                colorPickerFragment.setColorPickerListener(this);
+                colorPickerFragment.setColorAlphaChangeListener(this);
+            });
         });
         viewModel.addStyleChangeListener(this);
     }

+ 18 - 23
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfshape/CShapeStyleFragment.java

@@ -23,13 +23,14 @@ import androidx.constraintlayout.widget.ConstraintLayout;
 import com.compdfkit.core.annotation.CPDFBorderStyle;
 import com.compdfkit.core.annotation.CPDFLineAnnotation;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CAnnotLineTypePreviewView;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 
 public class CShapeStyleFragment extends CBasicPropertiesFragment {
@@ -137,41 +138,35 @@ public class CShapeStyleFragment extends CBasicPropertiesFragment {
 
         borderColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle style = viewModel.getStyle();
-            showColorPickerFragment(style.getLineColor(), style.getLineColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
-                    updateBorderColor(color);
-                }
-
-                @Override
-                public void opacity(int opacity) {
-                    updateColorOpacity(opacity);
-                }
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(style.getLineColor(), style.getLineColorOpacity());
+                colorPickerFragment.setColorPickerListener(this::updateBorderColor);
+                colorPickerFragment.setColorAlphaChangeListener(this::updateColorOpacity);
             });
         });
         fillColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle style = viewModel.getStyle();
-            showColorPickerFragment(style.getFillColor(), style.getFillColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
-                    updateFillColor(color);
-                }
-
-                @Override
-                public void opacity(int opacity) {
-                    updateColorOpacity(opacity);
-                }
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(style.getFillColor(), style.getFillColorOpacity());
+                colorPickerFragment.setColorPickerListener(this::updateFillColor);
+                colorPickerFragment.setColorAlphaChangeListener(this::updateColorOpacity);
             });
         });
 
         clStartLineType.setOnClickListener(v -> {
             CAnnotStyle style = viewModel.getStyle();
-            showLineTypeFragment(true, style.getStartLineType(), style::setStartLineType);
+            showFragment(CStyleFragmentDatas.lineType(R.string.tools_annot_start_line_style), (CLineArrowTypeListFragment lineTypeFragment)->{
+                lineTypeFragment.setLineType(style.getStartLineType());
+                lineTypeFragment.setLineTypeListener(style::setStartLineType);
+            });
         });
 
         clTailLineType.setOnClickListener(v -> {
             CAnnotStyle style = viewModel.getStyle();
-            showLineTypeFragment(false, style.getTailLineType(), style::setTailLineType);
+            showFragment(CStyleFragmentDatas.lineType(R.string.tools_annot_tail_line_style), (CLineArrowTypeListFragment lineTypeFragment)->{
+                lineTypeFragment.setLineType(style.getTailLineType());
+                lineTypeFragment.setLineTypeListener(style::setTailLineType);
+            });
         });
     }
 

+ 5 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfsignature/CAddSignatureActivity.java

@@ -37,8 +37,8 @@ import com.compdfkit.tools.common.utils.threadpools.CThreadPoolUtils;
 import com.compdfkit.tools.common.utils.view.colorpicker.ColorPickerDialogFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.views.CToolBar;
-import com.compdfkit.tools.common.views.pdfproperties.writing.CPDFWritingView;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
+import com.compdfkit.tools.common.views.pdfproperties.writing.CPDFWritingView;
 import com.google.android.material.floatingactionbutton.FloatingActionButton;
 
 
@@ -147,10 +147,10 @@ public class CAddSignatureActivity extends AppCompatActivity implements View.OnC
                     setSignatureColor(color);
                 }
 
-                @Override
-                public void opacity(int opacity) {
-
-                }
+//                @Override
+//                public void opacity(int opacity) {
+//
+//                }
             });
             colorPickerDialogFragment.show(getSupportFragmentManager(), "colorPickerDialogFragment");
         });

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfstyle/CAnnotImplStyle.java

@@ -28,7 +28,6 @@ import com.compdfkit.ui.proxy.CPDFInkAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFLineAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFMarkupAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFSquareAnnotImpl;
-import com.compdfkit.ui.reader.CPDFPageView;
 import com.compdfkit.ui.reader.PageView;
 
 import java.util.LinkedHashSet;

+ 2 - 7
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfstyle/CPDFGlobalAnnotStyle.java

@@ -19,8 +19,6 @@ import com.compdfkit.core.annotation.CPDFFreetextAnnotation;
 import com.compdfkit.core.annotation.CPDFLineAnnotation;
 import com.compdfkit.core.annotation.CPDFTextAlignment;
 import com.compdfkit.core.annotation.CPDFTextAttribute;
-import com.compdfkit.core.annotation.form.CPDFTextWidget;
-import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
 import com.compdfkit.tools.common.views.pdfstyle.CBasicOnStyleChangeListener;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
@@ -208,7 +206,6 @@ public class CPDFGlobalAnnotStyle extends CBasicOnStyleChangeListener implements
                     String textFieldFontName = CPDFTextAttribute.FontNameHelper.obtainFontName(params.getFontType(), params.isFontBold(), params.isFontItalic());
                     textFieldAttr.setTextAttribute(new CPDFTextAttribute(textFieldFontName, params.getFontSize(), params.getTextColor()));
                     textFieldAttr.setMultiline(params.isFormMultiLine());
-                    textFieldAttr.setBgAlpha(0.5F);
                     switch (params.getAlignment()) {
                         case LEFT:
                             textFieldAttr.setAlignment(CPDFTextAlignment.ALIGNMENT_LEFT);
@@ -231,7 +228,6 @@ public class CPDFGlobalAnnotStyle extends CBasicOnStyleChangeListener implements
                     checkboxAttr.setCheckColor(params.getColor());
                     checkboxAttr.setBorderColor(params.getLineColor());
                     checkboxAttr.setBgColor(params.getFillColor());
-                    checkboxAttr.setBgAlpha(0.1F);
                     break;
                 case FORM_RADIO_BUTTON:
                     CPDFRadiobuttonAttr radiobuttonAttr = attribute.getRadiobuttonAttr();
@@ -240,14 +236,13 @@ public class CPDFGlobalAnnotStyle extends CBasicOnStyleChangeListener implements
                     radiobuttonAttr.setCheckColor(params.getColor());
                     radiobuttonAttr.setBorderColor(params.getLineColor());
                     radiobuttonAttr.setBgColor(params.getFillColor());
-                    radiobuttonAttr.setBgAlpha(0.2F);
                     break;
                 case FORM_LIST_BOX:
                     CPDFListboxAttr listBoxAttr = attribute.getListboxAttr();
                     listBoxAttr.setFontSize(params.getFontSize());
                     listBoxAttr.setFontColor(params.getTextColor());
                     listBoxAttr.setBgColor(params.getFillColor());
-                    listBoxAttr.setBorderWidth(2);
+                    listBoxAttr.setBorderWidth(params.getBorderWidth());
                     listBoxAttr.setBorderColor(params.getLineColor());
                     break;
                 case FORM_COMBO_BOX:
@@ -255,7 +250,7 @@ public class CPDFGlobalAnnotStyle extends CBasicOnStyleChangeListener implements
                     comboBoxAttr.setBgColor(params.getFillColor());
                     comboBoxAttr.setFontSize(params.getFontSize());
                     comboBoxAttr.setFontColor(params.getTextColor());
-                    comboBoxAttr.setBorderWidth(2);
+                    comboBoxAttr.setBorderWidth(params.getBorderWidth());
                     comboBoxAttr.setBorderColor(params.getLineColor());
                     break;
                 default:

+ 0 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CCheckBoxContextMenuView.java

@@ -13,15 +13,12 @@ import android.view.View;
 
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuCheckBoxProvider;
-import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuTextFieldProvider;
 import com.compdfkit.tools.common.contextmenu.provider.ContextMenuView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleDialogFragment;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleManager;
-import com.compdfkit.ui.contextmenu.IContextMenuShowListener;
 import com.compdfkit.ui.proxy.form.CPDFCheckboxWidgetImpl;
-import com.compdfkit.ui.proxy.form.CPDFTextWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 

+ 3 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CPDFContextMenuHelper.java

@@ -11,12 +11,10 @@ package com.compdfkit.tools.common.contextmenu;
 
 import android.graphics.PointF;
 import android.graphics.RectF;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.PopupWindow;
 
-import com.compdfkit.core.annotation.form.CPDFWidgetItems;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuCheckBoxProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuComboBoxProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuEditImageProvider;
@@ -43,7 +41,6 @@ import com.compdfkit.ui.proxy.CPDFLinkAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFMarkupAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFSoundAnnotImpl;
 import com.compdfkit.ui.proxy.CPDFStampAnnotImpl;
-import com.compdfkit.ui.proxy.CPDFTextAnnotImpl;
 import com.compdfkit.ui.proxy.form.CPDFCheckboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFListboxWidgetImpl;
@@ -56,10 +53,13 @@ import com.compdfkit.ui.reader.CPDFReaderView;
 public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
 
     public ContextMenuProviderParams helperParams;
+
     private CPDFPageView pageView;
 
     private CPDFEditSelections cpdfEditSelections;
 
+    private PopupWindow.OnDismissListener dismissListener;
+
     public CPDFPageView getPageView() {
         return pageView;
     }
@@ -266,7 +266,6 @@ public class CPDFContextMenuHelper extends CPDFContextMenuShowHelper {
         super.dismissContextMenu();
     }
 
-    private PopupWindow.OnDismissListener dismissListener;
 
     public void setPopupWindowDismissListener(PopupWindow.OnDismissListener dismissListener){
         this.dismissListener = dismissListener;

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CRadioButtonContextMenuView.java

@@ -12,14 +12,12 @@ package com.compdfkit.tools.common.contextmenu;
 import android.view.View;
 
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuCheckBoxProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuRadioButtonProvider;
 import com.compdfkit.tools.common.contextmenu.provider.ContextMenuView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleDialogFragment;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleManager;
-import com.compdfkit.ui.proxy.form.CPDFCheckboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFRadiobuttonWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 

+ 0 - 10
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CSignatureContextMenuView.java

@@ -11,20 +11,10 @@ package com.compdfkit.tools.common.contextmenu;
 
 import android.view.View;
 
-import androidx.fragment.app.FragmentActivity;
-
-import com.compdfkit.core.annotation.form.CPDFWidgetItems;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuComboBoxProvider;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuFormSignProvider;
 import com.compdfkit.tools.common.contextmenu.provider.ContextMenuView;
-import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
-import com.compdfkit.tools.common.views.pdfstyle.CStyleDialogFragment;
-import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
-import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleManager;
-import com.compdfkit.tools.form.pdfproperties.option.edit.CFormOptionEditFragment;
 import com.compdfkit.ui.proxy.CPDFBaseAnnotImpl;
-import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CStampContextMenuView.java

@@ -10,7 +10,6 @@
 package com.compdfkit.tools.common.contextmenu;
 
 
-import android.util.Log;
 import android.view.View;
 
 import com.compdfkit.core.annotation.CPDFStampAnnotation;

+ 0 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/CTextFieldContextMenuView.java

@@ -11,8 +11,6 @@ package com.compdfkit.tools.common.contextmenu;
 
 import android.view.View;
 
-import androidx.fragment.app.FragmentActivity;
-
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.contextmenu.interfaces.ContextMenuTextFieldProvider;
 import com.compdfkit.tools.common.contextmenu.provider.ContextMenuView;
@@ -20,7 +18,6 @@ import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleDialogFragment;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleManager;
-import com.compdfkit.ui.contextmenu.IContextMenuShowListener;
 import com.compdfkit.ui.proxy.form.CPDFTextWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuCheckBoxProvider.java

@@ -14,7 +14,6 @@ import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
 import com.compdfkit.ui.proxy.form.CPDFCheckboxWidgetImpl;
-import com.compdfkit.ui.proxy.form.CPDFTextWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 public interface ContextMenuCheckBoxProvider {

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuComboBoxProvider.java

@@ -14,7 +14,6 @@ import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
 import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
-import com.compdfkit.ui.proxy.form.CPDFListboxWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 public interface ContextMenuComboBoxProvider {

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuEditImageProvider.java

@@ -1,7 +1,6 @@
 package com.compdfkit.tools.common.contextmenu.interfaces;
 
 import android.graphics.RectF;
-import android.view.LayoutInflater;
 import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuEditTextProvider.java

@@ -11,7 +11,6 @@ package com.compdfkit.tools.common.contextmenu.interfaces;
 
 
 import android.graphics.PointF;
-import android.view.LayoutInflater;
 import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuFormSignProvider.java

@@ -14,7 +14,6 @@ import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
 import com.compdfkit.ui.proxy.CPDFBaseAnnotImpl;
-import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 public interface ContextMenuFormSignProvider {

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuListBoxProvider.java

@@ -14,7 +14,6 @@ import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
 import com.compdfkit.ui.proxy.form.CPDFListboxWidgetImpl;
-import com.compdfkit.ui.proxy.form.CPDFRadiobuttonWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 
 public interface ContextMenuListBoxProvider {

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuRadioButtonProvider.java

@@ -13,7 +13,6 @@ package com.compdfkit.tools.common.contextmenu.interfaces;
 import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
-import com.compdfkit.ui.proxy.form.CPDFCheckboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFRadiobuttonWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/contextmenu/interfaces/ContextMenuTextFieldProvider.java

@@ -13,7 +13,6 @@ package com.compdfkit.tools.common.contextmenu.interfaces;
 import android.view.View;
 
 import com.compdfkit.tools.common.contextmenu.CPDFContextMenuHelper;
-import com.compdfkit.ui.proxy.CPDFLinkAnnotImpl;
 import com.compdfkit.ui.proxy.form.CPDFTextWidgetImpl;
 import com.compdfkit.ui.reader.CPDFPageView;
 

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/CWrapHeightPageChangeCallback.java

@@ -10,8 +10,6 @@
 package com.compdfkit.tools.common.utils;
 
 import android.animation.ObjectAnimator;
-import android.content.res.Configuration;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.AccelerateDecelerateInterpolator;

+ 19 - 12
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/CColorPickerFragment.java

@@ -37,25 +37,22 @@ public class CColorPickerFragment extends CBasicPropertiesFragment {
 
     private ColorPickerView.COnColorChangeListener colorChangeListener;
 
+    private ColorPickerView.COnColorAlphaChangeListener colorAlphaChangeListener;
+
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
         View rootView = inflater.inflate(R.layout.tools_color_pick_fragment, container, false);
         colorPickerView = rootView.findViewById(R.id.color_picker_view);
         colorPickerView.initColor(mSetColor, mSetColorOpacity);
-        colorPickerView.setColorPickerListener(new ColorPickerView.COnColorChangeListener() {
-            @Override
-            public void color(int color) {
-                if (colorChangeListener != null) {
-                    colorChangeListener.color(color);
-                }
+        colorPickerView.setColorChangeListener(color -> {
+            if (colorChangeListener != null) {
+                colorChangeListener.color(color);
             }
-
-            @Override
-            public void opacity(int opacity) {
-                if (colorChangeListener != null) {
-                    colorChangeListener.opacity(opacity);
-                }
+        });
+        colorPickerView.setColorAlphaChangeListener(opacity -> {
+            if (colorAlphaChangeListener != null) {
+                colorAlphaChangeListener.opacity(opacity);
             }
         });
         return rootView;
@@ -79,7 +76,17 @@ public class CColorPickerFragment extends CBasicPropertiesFragment {
         }
     }
 
+    public void showAlphaSliderBar(boolean show){
+        if (colorPickerView != null) {
+            colorPickerView.setShowAlphaSliderBar(show);
+        }
+    }
+
     public void setColorPickerListener(ColorPickerView.COnColorChangeListener colorChangeListener) {
         this.colorChangeListener = colorChangeListener;
     }
+
+    public void setColorAlphaChangeListener(ColorPickerView.COnColorAlphaChangeListener colorAlphaChangeListener) {
+        this.colorAlphaChangeListener = colorAlphaChangeListener;
+    }
 }

+ 11 - 4
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/ColorPickerDialogFragment.java

@@ -29,7 +29,9 @@ public class ColorPickerDialogFragment extends BottomSheetDialogFragment {
 
     private static final String EXTRA_SELECT_COLOR = "extra_select_color";
 
-    private ColorPickerView.COnColorChangeListener changeListener;
+    private ColorPickerView.COnColorChangeListener colorChangeListener;
+
+    private ColorPickerView.COnColorAlphaChangeListener colorAlphaChangeListener;
 
     public static ColorPickerDialogFragment newInstance(int selectColor) {
         Bundle args = new Bundle();
@@ -66,11 +68,16 @@ public class ColorPickerDialogFragment extends BottomSheetDialogFragment {
         if (fragment != null && fragment instanceof CColorPickerFragment){
             CColorPickerFragment colorPickerFragment = (CColorPickerFragment) fragment;
             colorPickerFragment.initColor(selectColor, 255);
-            colorPickerFragment.setColorPickerListener(changeListener);
+            colorPickerFragment.setColorPickerListener(colorChangeListener);
+            colorPickerFragment.setColorAlphaChangeListener(colorAlphaChangeListener);
         }
     }
 
-    public void setColorChangeListener(ColorPickerView.COnColorChangeListener changeListener) {
-        this.changeListener = changeListener;
+    public void setColorChangeListener(ColorPickerView.COnColorChangeListener colorChangeListener) {
+        this.colorChangeListener = colorChangeListener;
+    }
+
+    public void setColorAlphaChangeListener(ColorPickerView.COnColorAlphaChangeListener colorAlphaChangeListener) {
+        this.colorAlphaChangeListener = colorAlphaChangeListener;
     }
 }

+ 38 - 9
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/view/colorpicker/widget/ColorPickerView.java

@@ -10,6 +10,7 @@
 package com.compdfkit.tools.common.utils.view.colorpicker.widget;
 
 import android.content.Context;
+import android.content.res.TypedArray;
 import android.graphics.Color;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
@@ -47,7 +48,11 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
 
     private int lastColorAlpha = 255;
 
-    private COnColorChangeListener colorPickerListener;
+    private COnColorChangeListener onColorChangeListener;
+
+    private COnColorAlphaChangeListener colorAlphaChangeListener;
+
+    private boolean showAlphaSliderBar = true;
 
     public ColorPickerView(@NonNull Context context) {
         this(context, null);
@@ -59,9 +64,18 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
 
     public ColorPickerView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
+        initAttrs(context, attrs);
         initView(context);
     }
 
+    private void initAttrs(Context context, AttributeSet attrs){
+        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ColorPickerView);
+        if (typedArray != null) {
+            showAlphaSliderBar = typedArray.getBoolean(R.styleable.ColorPickerView_tools_show_alpha_slider_bar, true);
+            typedArray.recycle();
+        }
+    }
+
     private void initView(Context context){
         inflate(context, R.layout.tools_color_pick_view, this);
         mCurrentIndicatorColorView = findViewById(R.id.id_bottom_customize_cv_indicator);
@@ -72,6 +86,10 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
         colorListView = findViewById(R.id.color_list_view);
         alphaValueView.setMaxValue(255);
         alphaValueView.setValue(255);
+        if (!showAlphaSliderBar) {
+            alphaValueView.setVisibility(GONE);
+            colorOpacitySliderView.setVisibility(GONE);
+        }
         colorRectView.setColorSelectListener(color1 -> {
             mCurrentIndicatorColorView.changeColor(color1);
             colorOpacitySliderView.setBaseColor(color1);
@@ -80,8 +98,8 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
         colorOpacitySliderView.setColorOpacityChangeListener(opacity -> {
             mCurrentIndicatorColorView.changeAlpha(opacity);
             alphaValueView.setValue(opacity);
-            if (colorPickerListener != null) {
-                colorPickerListener.opacity(opacity);
+            if (colorAlphaChangeListener != null) {
+                colorAlphaChangeListener.opacity(opacity);
             }
         });
         colorListView.setOnColorSelectListener(color1 -> {
@@ -91,8 +109,8 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
             mCurrentIndicatorColorView.changeAlpha(255);
             alphaValueView.setValue(255);
             colorRectView.setColor(color1);
-            if (colorPickerListener != null) {
-                colorPickerListener.color(color1);
+            if (onColorChangeListener != null) {
+                onColorChangeListener.color(color1);
             }
         });
         colorRectView.setOnTouchListener(this::onTouch);
@@ -118,6 +136,11 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
         updateColorView();
     }
 
+    public void setShowAlphaSliderBar(boolean show){
+        colorOpacitySliderView.setVisibility(show ? VISIBLE : GONE);
+        alphaValueView.setVisibility(show ? VISIBLE : GONE);
+    }
+
 
     public void refreshColor(){
         initColor(this.color, this.colorAlpha);
@@ -140,20 +163,26 @@ public class ColorPickerView extends FrameLayout implements View.OnTouchListener
     @Override
     public boolean onTouch(View v, MotionEvent event) {
         if (event.getActionMasked() == MotionEvent.ACTION_UP){
-            if (colorPickerListener != null) {
-                colorPickerListener.color(mCurrentIndicatorColorView.getColor());
+            if (onColorChangeListener != null) {
+                onColorChangeListener.color(mCurrentIndicatorColorView.getColor());
             }
         }
         return false;
     }
 
-    public void setColorPickerListener(COnColorChangeListener colorPickerListener) {
-        this.colorPickerListener = colorPickerListener;
+    public void setColorChangeListener(COnColorChangeListener colorChangeListener) {
+        this.onColorChangeListener = colorChangeListener;
+    }
+
+    public void setColorAlphaChangeListener(COnColorAlphaChangeListener colorAlphaChangeListener) {
+        this.colorAlphaChangeListener = colorAlphaChangeListener;
     }
 
     public interface COnColorChangeListener{
         void color(int color);
+    }
 
+    public interface COnColorAlphaChangeListener{
         void opacity(int opacity);
     }
 }

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/utils/window/CModeSwitchDialogFragment.java

@@ -15,7 +15,6 @@ import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
-import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
 import com.compdfkit.tools.common.views.pdfview.CPreviewMode;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/CPageEditToolBar.java

@@ -10,9 +10,7 @@ import androidx.annotation.Nullable;
 import androidx.constraintlayout.widget.ConstraintLayout;
 
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.dialog.CImportImageDialogFragment;
 import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
-import com.compdfkit.tools.common.views.pdfpageedit.CSelectInsertPageTypeDialogFragment;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 
 public class CPageEditToolBar extends FrameLayout implements View.OnClickListener {

+ 1 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfannotationbar/data/CAnnotationToolDatas.java

@@ -36,8 +36,8 @@ public class CAnnotationToolDatas {
         CAnnotStyle inkStyle = styleManager.getStyle(CStyleType.ANNOT_INK);
         list.add(new CAnnotToolBean(CAnnotationType.INK, R.drawable.tools_ic_annotation_ink, inkStyle.getColor(), inkStyle.getOpacity()));
 
-        list.add(new CAnnotToolBean(CAnnotationType.SQUARE, R.drawable.tools_ic_annotation_shape_rectangle));
         list.add(new CAnnotToolBean(CAnnotationType.CIRCLE, R.drawable.tools_ic_annotation_shape_circular));
+        list.add(new CAnnotToolBean(CAnnotationType.SQUARE, R.drawable.tools_ic_annotation_shape_rectangle));
         list.add(new CAnnotToolBean(CAnnotationType.ARROW, R.drawable.tools_ic_annotation_shape_arrow));
         list.add(new CAnnotToolBean(CAnnotationType.LINE, R.drawable.tools_ic_annotation_shape_line));
         list.add(new CAnnotToolBean(CAnnotationType.FREETEXT, R.drawable.tools_ic_annotation_freetext));

+ 0 - 9
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/CFormToolbar.java

@@ -13,7 +13,6 @@ package com.compdfkit.tools.common.views.pdfformbar;
 import android.content.Context;
 import android.os.Handler;
 import android.os.Looper;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.widget.FrameLayout;
@@ -25,7 +24,6 @@ import androidx.fragment.app.FragmentManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.compdfkit.core.annotation.CPDFAnnotation;
 import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.core.undo.CPDFUndoManager;
 import com.compdfkit.core.undo.exception.CPDFRedoFailedException;
@@ -35,14 +33,7 @@ import com.compdfkit.tools.common.interfaces.COnFormChangeListener;
 import com.compdfkit.tools.common.views.pdfformbar.adapter.CPDFFormToolListAdapter;
 import com.compdfkit.tools.common.views.pdfformbar.bean.CFormToolBean;
 import com.compdfkit.tools.common.views.pdfformbar.data.CFormToolDatas;
-import com.compdfkit.tools.common.views.pdfproperties.CTypeUtil;
-import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
-import com.compdfkit.tools.common.views.pdfstyle.CStyleDialogFragment;
-import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
-import com.compdfkit.tools.common.views.pdfstyle.CStyleUIParams;
-import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleManager;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
-import com.compdfkit.ui.proxy.attach.IInkDrawCallback;
 
 public class CFormToolbar extends FrameLayout {
 

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/adapter/CPDFFormToolListAdapter.java

@@ -24,8 +24,6 @@ import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.adapter.CBaseQuickAdapter;
 import com.compdfkit.tools.common.utils.adapter.CBaseQuickViewHolder;
 import com.compdfkit.tools.common.views.pdfformbar.bean.CFormToolBean;
-import com.compdfkit.tools.common.views.pdfproperties.CAnnotationType;
-import com.compdfkit.tools.common.views.pdfproperties.CTypeUtil;
 
 import java.util.List;
 

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfformbar/bean/CFormToolBean.java

@@ -15,7 +15,6 @@ import android.graphics.Color;
 import androidx.annotation.DrawableRes;
 
 import com.compdfkit.core.annotation.form.CPDFWidget;
-import com.compdfkit.tools.common.views.pdfproperties.CAnnotationType;
 
 public class CFormToolBean {
 

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfpageedit/CInsertBlankPageDialogFragment.java

@@ -3,7 +3,6 @@ package com.compdfkit.tools.common.views.pdfpageedit;
 import android.annotation.SuppressLint;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;

+ 0 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfpageedit/CInsertPdfPageDialogFragment.java

@@ -7,7 +7,6 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -25,7 +24,6 @@ import androidx.appcompat.widget.AppCompatTextView;
 import com.compdfkit.core.document.CPDFDocument;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.CFileUtils;
-import com.compdfkit.tools.common.utils.UriUtil;
 import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
 import com.compdfkit.tools.common.utils.threadpools.CThreadPoolUtils;
 import com.compdfkit.tools.common.utils.viewutils.CViewUtils;

+ 8 - 31
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/basic/CBasicPropertiesFragment.java

@@ -20,12 +20,9 @@ import com.compdfkit.core.annotation.CPDFLineAnnotation;
 import com.compdfkit.core.annotation.CPDFStampAnnotation;
 import com.compdfkit.core.annotation.CPDFTextAttribute;
 import com.compdfkit.core.annotation.form.CPDFWidget;
-import com.compdfkit.tools.annotation.pdfproperties.pdffreetext.CFreeTextTypefaceListFragment;
-import com.compdfkit.tools.annotation.pdfproperties.pdfshape.CLineArrowTypeListFragment;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CPropertiesFragmentBean;
 import com.compdfkit.tools.common.views.pdfstyle.viewmodel.CStyleViewModel;
-import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.CheckBoxStyleListFragment;
 
 
 public abstract class CBasicPropertiesFragment extends Fragment implements CAnnotStyle.OnAnnotStyleChangeListener {
@@ -54,27 +51,9 @@ public abstract class CBasicPropertiesFragment extends Fragment implements CAnno
         isOnResume = false;
     }
 
-    protected void showColorPickerFragment(int color, int opacity, ColorPickerView.COnColorChangeListener listener) {
+    protected <F extends CBasicPropertiesFragment> void showFragment(CPropertiesFragmentBean bean, OnFragmentInitListener<F> initListener){
         if (switchFragmentListener != null) {
-            switchFragmentListener.colorPickerFragment(color, opacity, listener);
-        }
-    }
-
-    protected void showLineTypeFragment(boolean isStartType, CPDFLineAnnotation.LineType lineType, CLineArrowTypeListFragment.OnLineTypeListener lineTypeListener){
-        if (switchFragmentListener != null){
-            switchFragmentListener.showLineTypeFragment(isStartType, lineType, lineTypeListener);
-        }
-    }
-
-    protected void showFontTypeFragment(CPDFTextAttribute.FontNameHelper.FontType fontType, CFreeTextTypefaceListFragment.OnSelectTypefaceListener listener){
-        if (switchFragmentListener != null) {
-            switchFragmentListener.fontTypeListFragment(fontType, listener);
-        }
-    }
-
-    protected void showCheckBoxListFragment(CPDFWidget.CheckStyle checkStyle, CheckBoxStyleListFragment.OnSelectCheckBoxStyleListener checkBoxStyleListener){
-        if (switchFragmentListener != null) {
-            switchFragmentListener.showCheckBoxListFragment(checkStyle, checkBoxStyleListener);
+            switchFragmentListener.showFragment(bean, initListener);
         }
     }
 
@@ -247,17 +226,15 @@ public abstract class CBasicPropertiesFragment extends Fragment implements CAnno
 
     public interface OnSwitchFragmentListener {
 
-        void colorPickerFragment(int color, int opacity, ColorPickerView.COnColorChangeListener colorChangeListener);
-
-        void showLineTypeFragment(boolean isStartType, CPDFLineAnnotation.LineType currentLineType, CLineArrowTypeListFragment.OnLineTypeListener lineTypeListener);
+        void showFragment(CPropertiesFragmentBean bean, OnFragmentInitListener initListener);
 
         void previousFragment();
 
-        void fontTypeListFragment(CPDFTextAttribute.FontNameHelper.FontType currentFontType, CFreeTextTypefaceListFragment.OnSelectTypefaceListener listener);
-
-        void showCheckBoxListFragment(CPDFWidget.CheckStyle checkStyle, CheckBoxStyleListFragment.OnSelectCheckBoxStyleListener checkBoxStyleListener);
-
         void dismissStyleDialog();
 
     }
+
+    public interface OnFragmentInitListener<F extends CBasicPropertiesFragment> {
+        void init(F fragment);
+    }
 }

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/preview/CAnnotLineTypePreviewView.java

@@ -205,7 +205,6 @@ public class CAnnotLineTypePreviewView extends CBasicAnnotPreviewView {
         }
 
         private List<Float> drawStartArrow(Canvas canvas) {
-
             switch (startLineType) {
                 case LINETYPE_NONE:
                     return drawStartNoneLine(canvas);

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/textfields/CTextFieldsView.java

@@ -15,7 +15,6 @@ import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
-import android.view.View;
 import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;

+ 5 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/writing/CKMHandWritingHelper.java

@@ -9,18 +9,18 @@ package com.compdfkit.tools.common.views.pdfproperties.writing;
 
 
 import android.graphics.Bitmap;
+import android.graphics.Bitmap.Config;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.PointF;
-import android.graphics.PorterDuffXfermode;
-import android.graphics.RectF;
-import android.graphics.Bitmap.Config;
 import android.graphics.Paint.Cap;
 import android.graphics.Paint.Join;
 import android.graphics.Paint.Style;
+import android.graphics.Path;
+import android.graphics.PointF;
 import android.graphics.PorterDuff.Mode;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.RectF;
 
 import com.kdanmobile.handwriting.KMLineProcess;
 import com.kdanmobile.handwriting.LPPoint;

+ 3 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfproperties/writing/CKmWritingView.java

@@ -1,19 +1,19 @@
 package com.compdfkit.tools.common.views.pdfproperties.writing;
 
 
-
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.RectF;
 import android.graphics.Paint.Cap;
 import android.graphics.Paint.Join;
 import android.graphics.Paint.Style;
+import android.graphics.Path;
+import android.graphics.RectF;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
+
 import androidx.annotation.Nullable;
 
 

+ 19 - 58
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleDialogFragment.java

@@ -27,21 +27,13 @@ import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.viewpager2.widget.ViewPager2;
 
-import com.compdfkit.core.annotation.CPDFLineAnnotation;
-import com.compdfkit.core.annotation.CPDFTextAttribute;
-import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.annotation.pdfproperties.pdffreetext.CFreeTextTypefaceListFragment;
-import com.compdfkit.tools.annotation.pdfproperties.pdfshape.CLineArrowTypeListFragment;
 import com.compdfkit.tools.common.interfaces.COnDialogDismissListener;
 import com.compdfkit.tools.common.utils.CWrapHeightPageChangeCallback;
 import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
-import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfstyle.viewmodel.CStyleViewModel;
-import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.CheckBoxStyleListFragment;
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
 
@@ -205,33 +197,27 @@ public class CStyleDialogFragment extends BottomSheetDialogFragment implements C
         }
     }
 
-    @Override
-    public void colorPickerFragment(int color, int opacity, ColorPickerView.COnColorChangeListener colorChangeListener) {
-        annotStyleFragmentAdapter.addColorPickerFragment();
-        viewPager.post(() -> {
-            viewPager.setCurrentItem(1);
-            Fragment colorPickerFragment = getChildFragmentManager().findFragmentByTag("f" + annotStyleFragmentAdapter.getItemId(1));
-            if (colorPickerFragment != null && colorPickerFragment instanceof CColorPickerFragment) {
-                ((CColorPickerFragment) colorPickerFragment).initColor(color, opacity);
-                ((CColorPickerFragment) colorPickerFragment).setColorPickerListener(colorChangeListener);
-            }
-        });
-    }
-
     @Override
     public void onConfigurationChanged(@NonNull Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
-        if (styleUIParams.fillScreenHeight || getContext() == null || getView() == null){
+        if (getContext() == null || getView() == null){
             return;
         }
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
         if (CViewUtils.isLandScape(getContext())) {
+            CDialogFragmentUtil.setDimAmount(getDialog(), 0.4F);
             behavior.setSkipCollapsed(true);
+            behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
         } else {
-            CDialogFragmentUtil.resetBottomSheetDialogFragment(getDialog(), behavior);
+            CDialogFragmentUtil.setDimAmount(getDialog(), styleUIParams.dimAmount);
+            if (!styleUIParams.fillScreenHeight) {
+                CDialogFragmentUtil.resetBottomSheetDialogFragment(getDialog(), behavior);
+            }
         }
-        if (changeCallback != null) {
-            changeCallback.updatePagerHeight(getChildFragmentManager(), viewPager, viewPager.getCurrentItem());
+        if (!styleUIParams.fillScreenHeight) {
+            if (changeCallback != null) {
+                changeCallback.updatePagerHeight(getChildFragmentManager(), viewPager, viewPager.getCurrentItem());
+            }
         }
     }
 
@@ -242,40 +228,15 @@ public class CStyleDialogFragment extends BottomSheetDialogFragment implements C
     }
 
     @Override
-    public void showLineTypeFragment(boolean isStartType, CPDFLineAnnotation.LineType currentLineType, CLineArrowTypeListFragment.OnLineTypeListener lineTypeListener) {
-        annotStyleFragmentAdapter.addLineTypeFragment(isStartType ? R.string.tools_annot_start_line_style : R.string.tools_annot_tail_line_style);
-        viewPager.post(() -> {
-            viewPager.setCurrentItem(1);
-            Fragment lineTypeFragment = getChildFragmentManager().findFragmentByTag("f" + annotStyleFragmentAdapter.getItemId(1));
-            if (lineTypeFragment != null && lineTypeFragment instanceof CLineArrowTypeListFragment) {
-                ((CLineArrowTypeListFragment) lineTypeFragment).setLineType(currentLineType);
-                ((CLineArrowTypeListFragment) lineTypeFragment).setLineTypeListener(lineTypeListener);
-            }
-        });
-    }
-
-    @Override
-    public void fontTypeListFragment(CPDFTextAttribute.FontNameHelper.FontType currentFontType, CFreeTextTypefaceListFragment.OnSelectTypefaceListener listener) {
-        annotStyleFragmentAdapter.addFontTypeFragment();
-        viewPager.post(() -> {
-            viewPager.setCurrentItem(1);
-            Fragment fontTypeFragment = getChildFragmentManager().findFragmentByTag("f" + annotStyleFragmentAdapter.getItemId(1));
-            if (fontTypeFragment != null && fontTypeFragment instanceof CFreeTextTypefaceListFragment) {
-                ((CFreeTextTypefaceListFragment) fontTypeFragment).setFontType(currentFontType);
-                ((CFreeTextTypefaceListFragment) fontTypeFragment).setTypefaceListener(listener);
-            }
-        });
-    }
-
-    @Override
-    public void showCheckBoxListFragment(CPDFWidget.CheckStyle checkStyle, CheckBoxStyleListFragment.OnSelectCheckBoxStyleListener checkBoxStyleListener) {
-        annotStyleFragmentAdapter.addCheckBoxStyleFragment();
-        viewPager.post(() -> {
+    public void showFragment(CPropertiesFragmentBean bean, CBasicPropertiesFragment.OnFragmentInitListener initListener) {
+        annotStyleFragmentAdapter.addFragment(1, bean);
+        viewPager.post(()->{
             viewPager.setCurrentItem(1);
-            Fragment checkBoxListFragment = getChildFragmentManager().findFragmentByTag("f" + annotStyleFragmentAdapter.getItemId(1));
-            if (checkBoxListFragment != null && checkBoxListFragment instanceof CheckBoxStyleListFragment) {
-                ((CheckBoxStyleListFragment) checkBoxListFragment).setCheckStyle(checkStyle);
-                ((CheckBoxStyleListFragment) checkBoxListFragment).setSelectCheckBoxStyleListener(checkBoxStyleListener);
+            Fragment fragment = getChildFragmentManager().findFragmentByTag("f" + annotStyleFragmentAdapter.getItemId(1));
+            if (fragment != null && fragment instanceof CBasicPropertiesFragment) {
+                if (initListener != null) {
+                    initListener.init((CBasicPropertiesFragment) fragment);
+                }
             }
         });
     }

+ 0 - 22
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleFragmentAdapter.java

@@ -10,18 +10,12 @@
 package com.compdfkit.tools.common.views.pdfstyle;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.StringRes;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 import androidx.lifecycle.Lifecycle;
 import androidx.viewpager2.adapter.FragmentStateAdapter;
 
-import com.compdfkit.tools.R;
-import com.compdfkit.tools.annotation.pdfproperties.pdffreetext.CFreeTextTypefaceListFragment;
-import com.compdfkit.tools.annotation.pdfproperties.pdfshape.CLineArrowTypeListFragment;
-import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
-import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.CheckBoxStyleListFragment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -60,22 +54,6 @@ public class CStyleFragmentAdapter extends FragmentStateAdapter {
         notifyDataSetChanged();
     }
 
-    public void addColorPickerFragment(){
-        addFragment(1, new CPropertiesFragmentBean(R.string.tools_custom_color, CColorPickerFragment.class));
-    }
-
-    public void addLineTypeFragment(@StringRes int title){
-        addFragment(1, new CPropertiesFragmentBean(title, CLineArrowTypeListFragment.class));
-    }
-
-    public void addFontTypeFragment(){
-        addFragment(1, new CPropertiesFragmentBean(R.string.tools_annot_typeface, CFreeTextTypefaceListFragment.class));
-    }
-
-    public void addCheckBoxStyleFragment(){
-        addFragment(1, new CPropertiesFragmentBean(R.string.tools_button_style, CheckBoxStyleListFragment.class));
-    }
-
     @NonNull
     @Override
     public Fragment createFragment(int position) {

+ 18 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/CStyleFragmentDatas.java

@@ -9,18 +9,24 @@
 
 package com.compdfkit.tools.common.views.pdfstyle;
 
+import androidx.annotation.StringRes;
+
+import com.compdfkit.tools.R;
 import com.compdfkit.tools.annotation.pdfproperties.pdffreetext.CFreeTextStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdflnk.CInkStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfmarkup.CMarkupStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfnote.CNoteStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfpic.CImageStyleFragment;
+import com.compdfkit.tools.annotation.pdfproperties.pdfshape.CLineArrowTypeListFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfshape.CShapeStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfsignature.CSignatureStyleFragment;
 import com.compdfkit.tools.annotation.pdfproperties.pdfstamp.CStampStyleFragment;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.edit.pdfproperties.CEditImagePropertiesFragment;
 import com.compdfkit.tools.edit.pdfproperties.CEditTextProperFragment;
 import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.CheckBoxStyleFragment;
+import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.CheckBoxStyleListFragment;
 import com.compdfkit.tools.form.pdfproperties.pdfcombobox.ComboBoxStyleFragment;
 import com.compdfkit.tools.form.pdfproperties.pdflistbox.CListBoxStyleFragment;
 import com.compdfkit.tools.form.pdfproperties.pdfradiobutton.CRadioButtonStyleFragment;
@@ -74,6 +80,18 @@ public class CStyleFragmentDatas {
         return null;
     }
 
+    public static CPropertiesFragmentBean colorPicker(){
+        return new CPropertiesFragmentBean(R.string.tools_custom_color, CColorPickerFragment.class);
+    }
+
+    public static CPropertiesFragmentBean lineType(@StringRes int titleResId){
+        return new CPropertiesFragmentBean(titleResId, CLineArrowTypeListFragment.class);
+    }
+
+    public static CPropertiesFragmentBean checkBoxStyle(){
+        return new CPropertiesFragmentBean(R.string.tools_button_style, CheckBoxStyleListFragment.class);
+    }
+
     public static <T extends CBasicPropertiesFragment> CBasicPropertiesFragment createPropertiesFragment(Class<T> tClass, CAnnotStyle style) {
         try {
             return tClass.getDeclaredConstructor().newInstance();

+ 26 - 21
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfstyle/manager/CStyleManager.java

@@ -9,9 +9,8 @@
 
 package com.compdfkit.tools.common.views.pdfstyle.manager;
 
-import android.os.Build;
-
 import androidx.annotation.ColorInt;
+import androidx.annotation.FloatRange;
 import androidx.annotation.IntRange;
 
 import com.compdfkit.core.annotation.CPDFAnnotation;
@@ -86,17 +85,17 @@ public class CStyleManager implements CAnnotStyle.OnAnnotStyleChangeListener {
     }
 
     public void setDialogHeightCallback(CStyleDialogFragment styleDialogFragment, CPDFReaderView readerView) {
-        styleDialogFragment.setDialogHeightCallback((layoutHeight, isFirst) -> {
-            if (isFirst) {
-                if (readerView.isContinueMode() && readerView.isVerticalMode()) {
-                    try {
-                        readerView.setReadViewOffsetY(layoutHeight);
-                    } catch (Exception e) {
-
-                    }
-                }
-            }
-        });
+//        styleDialogFragment.setDialogHeightCallback((layoutHeight, isFirst) -> {
+//            if (isFirst) {
+//                if (readerView.isContinueMode() && readerView.isVerticalMode()) {
+//                    try {
+//                        readerView.setReadViewOffsetY(layoutHeight);
+//                    } catch (Exception e) {
+//
+//                    }
+//                }
+//            }
+//        });
     }
 
     @Override
@@ -399,28 +398,34 @@ public class CStyleManager implements CAnnotStyle.OnAnnotStyleChangeListener {
             return this;
         }
 
-        public Builder setListBox(@ColorInt int textColor,
-                                  @ColorInt int fillColor,
-                                  @ColorInt int borderColor,
-                                  @IntRange(from = 1, to = 100) int fontSize){
+        public Builder setListBox(
+                @ColorInt int borderColor,
+                @ColorInt int fillColor,
+                @ColorInt int textColor,
+                @IntRange(from = 1, to = 100) int fontSize,
+                @FloatRange(from = 0F, to = 100F) float borderWidth) {
             CAnnotStyle style = new CAnnotStyle(CStyleType.FORM_LIST_BOX);
             style.setFillColor(fillColor);
             style.setLineColor(borderColor);
             style.setTextColor(textColor);
             style.setFontSize(fontSize);
+            style.setBorderWidth(borderWidth);
             attrSet.add(style);
             return this;
         }
 
-        public Builder setComboBox(@ColorInt int textColor,
-                                  @ColorInt int fillColor,
-                                   @ColorInt int borderColor,
-                                   @IntRange(from = 1, to = 100) int fontSize){
+        public Builder setComboBox(
+                @ColorInt int borderColor,
+                @ColorInt int fillColor,
+                @ColorInt int textColor,
+                @IntRange(from = 1, to = 100) int fontSize,
+                @FloatRange(from = 0F, to = 100F) float borderWidth) {
             CAnnotStyle style = new CAnnotStyle(CStyleType.FORM_COMBO_BOX);
             style.setFillColor(fillColor);
             style.setLineColor(borderColor);
             style.setTextColor(textColor);
             style.setFontSize(fontSize);
+            style.setBorderWidth(borderWidth);
             attrSet.add(style);
             return this;
         }

+ 2 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/common/views/pdfview/CPDFViewCtrl.java

@@ -230,6 +230,8 @@ public class CPDFViewCtrl extends RelativeLayout implements IReaderViewCallback,
             // If the PDF file was successfully opened, set the PDF document of the CPdfReaderView instance to the opened document.
             case PDFDocumentErrorSuccess:
                 cPdfReaderView.setPDFDocument(cpdfDocument);
+                cPdfReaderView.reloadPages();
+                cPdfReaderView.setDisplayPageIndex(0);
                 initCPDFSliderBar();
                 addPageIndicator();
                 break;

+ 9 - 2
compdfkit-tools/src/main/java/com/compdfkit/tools/edit/pdfproperties/CEditTextProperFragment.java

@@ -16,6 +16,7 @@ import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.core.annotation.CPDFTextAttribute;
 import com.compdfkit.tools.R;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
@@ -23,12 +24,14 @@ import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.font.CExternFontSpinnerAdapter;
 import com.compdfkit.tools.common.views.pdfproperties.preview.CStylePreviewView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 import com.compdfkit.ui.utils.CPDFSysFontUtils;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class CEditTextProperFragment extends CBasicPropertiesFragment implements View.OnClickListener, ColorPickerView.COnColorChangeListener {
+public class CEditTextProperFragment extends CBasicPropertiesFragment
+        implements View.OnClickListener, ColorPickerView.COnColorChangeListener , ColorPickerView.COnColorAlphaChangeListener{
 
     private CStylePreviewView previewView;
 
@@ -172,7 +175,11 @@ public class CEditTextProperFragment extends CBasicPropertiesFragment implements
         colorListView.setOnColorSelectListener(this::color);
         colorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity(), this);
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment)->{
+                colorPickerFragment.initColor(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity());
+                colorPickerFragment.setColorPickerListener(this);
+                colorPickerFragment.setColorAlphaChangeListener(this);
+            });
         });
         opacitySliderBar.setChangeListener((progress, percentageValue, isStop) -> {
             if (isStop) {

+ 12 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/option/edit/CFormOptionEditFragment.java

@@ -12,6 +12,7 @@ package com.compdfkit.tools.form.pdfproperties.option.edit;
 
 import static androidx.recyclerview.widget.ItemTouchHelper.ACTION_STATE_IDLE;
 
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -85,7 +86,17 @@ public class CFormOptionEditFragment extends BottomSheetDialogFragment {
         BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
         CDialogFragmentUtil.setBottomSheetDialogFragmentFullScreen(getDialog(), behavior);
         if (CViewUtils.isLandScape(getContext())){
-            CDialogFragmentUtil.setDimAmount(getDialog(), 2F);
+            CDialogFragmentUtil.setDimAmount(getDialog(), 0.4F);
+        }else {
+            CDialogFragmentUtil.setDimAmount(getDialog(), 0F);
+        }
+    }
+
+    @Override
+    public void onConfigurationChanged(@NonNull Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
+        if (CViewUtils.isLandScape(getContext())){
+            CDialogFragmentUtil.setDimAmount(getDialog(), 0.4F);
         }else {
             CDialogFragmentUtil.setDimAmount(getDialog(), 0F);
         }

+ 7 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/option/select/CFormOptionSelectDialogFragment.java

@@ -25,6 +25,8 @@ import com.compdfkit.core.annotation.form.CPDFWidgetItem;
 import com.compdfkit.core.annotation.form.CPDFWidgetItems;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.dialog.CDialogFragmentUtil;
+import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
 
 import java.util.ArrayList;
@@ -66,7 +68,12 @@ public class CFormOptionSelectDialogFragment extends BottomSheetDialogFragment {
     @Override
     public void onStart() {
         super.onStart();
+        BottomSheetBehavior<View> behavior = BottomSheetBehavior.from((View) getView().getParent());
         CDialogFragmentUtil.setDimAmount(getDialog(), 0.2F);
+        if (CViewUtils.isLandScape(getContext())){
+            behavior.setSkipCollapsed(true);
+            behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
+        }
     }
 
     @Nullable

+ 21 - 34
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/CheckBoxStyleFragment.java

@@ -22,12 +22,13 @@ import androidx.constraintlayout.widget.ConstraintLayout;
 
 import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.views.pdfproperties.CPropertiesSwitchView;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.textfields.CTextFieldsView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
 
 public class CheckBoxStyleFragment extends CBasicPropertiesFragment implements View.OnClickListener {
@@ -89,20 +90,14 @@ public class CheckBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         borderColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setLineColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-                    if (viewModel != null) {
-                        viewModel.getStyle().setLineColorOpacity(opacity);
-                    }
-                }
+                });
             });
         });
         backgroundColorListView.setOnColorSelectListener(color -> {
@@ -112,20 +107,14 @@ public class CheckBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         backgroundColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColor(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setFillColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-                    if (viewModel != null) {
-                        viewModel.getStyle().setFillColorOpacity(opacity);
-                    }
-                }
+                });
             });
         });
         checkColorListView.setOnColorSelectListener(color -> {
@@ -135,18 +124,14 @@ public class CheckBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         checkColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getColor(), cAnnotStyle.getOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getColor(), cAnnotStyle.getOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         textFieldsView.setTextChangedListener((s, start, before, count) -> {
@@ -174,8 +159,10 @@ public class CheckBoxStyleFragment extends CBasicPropertiesFragment implements V
     public void onClick(View v) {
         if (v.getId() == R.id.cl_check_box_type_item) {
             if (viewModel != null) {
-                showCheckBoxListFragment(viewModel.getStyle().getCheckStyle(), checkBoxStyle -> {
-                    viewModel.getStyle().setCheckStyle(checkBoxStyle);
+                showFragment(CStyleFragmentDatas.checkBoxStyle(), (CheckBoxStyleListFragment checkBoxStyleListFragment) ->{
+                    checkBoxStyleListFragment.setCheckStyle(viewModel.getStyle().getCheckStyle());
+                    checkBoxStyleListFragment.setSelectCheckBoxStyleListener(style ->
+                            viewModel.getStyle().setCheckStyle(style));
                 });
             }
         }

+ 0 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/CheckBoxStyleListFragment.java

@@ -16,14 +16,11 @@ import android.view.ViewGroup;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.compdfkit.core.annotation.CPDFLineAnnotation;
 import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.annotation.pdfproperties.pdfshape.adapter.CLineTypeListAdapter;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
 import com.compdfkit.tools.form.pdfproperties.pdfcheckbox.adapter.CheckStyleListAdapter;
 

+ 0 - 5
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfcheckbox/adapter/CheckStyleListAdapter.java

@@ -12,16 +12,11 @@ package com.compdfkit.tools.form.pdfproperties.pdfcheckbox.adapter;
 
 import android.content.Context;
 import android.view.ViewGroup;
-import android.widget.FrameLayout;
 
-import androidx.core.content.ContextCompat;
-
-import com.compdfkit.core.annotation.CPDFLineAnnotation;
 import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.utils.adapter.CBaseQuickAdapter;
 import com.compdfkit.tools.common.utils.adapter.CBaseQuickViewHolder;
-import com.compdfkit.tools.common.views.pdfproperties.preview.CAnnotLineTypePreviewView;
 
 import java.util.ArrayList;
 

+ 18 - 45
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdflistbox/CListBoxStyleFragment.java

@@ -10,25 +10,20 @@
 package com.compdfkit.tools.form.pdfproperties.pdflistbox;
 
 import android.os.Bundle;
-import android.text.Editable;
 import android.text.TextUtils;
-import android.text.TextWatcher;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
-import android.widget.LinearLayout;
 import android.widget.Spinner;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.appcompat.widget.AppCompatEditText;
 import androidx.appcompat.widget.AppCompatImageView;
-import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.core.annotation.CPDFTextAttribute;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.CPropertiesSwitchView;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
@@ -36,6 +31,7 @@ import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.font.CFontSpinnerAdapter;
 import com.compdfkit.tools.common.views.pdfproperties.textfields.CTextFieldsView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -55,8 +51,6 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
 
     private CColorListView textColorListView;
 
-    private AppCompatTextView tvFontType;
-
     private AppCompatImageView ivFontItalic;
 
     private AppCompatImageView ivFontBold;
@@ -75,14 +69,11 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
         borderColorListView = rootView.findViewById(R.id.border_color_list_view);
         backgroundColorListView = rootView.findViewById(R.id.background_color_list_view);
         textColorListView = rootView.findViewById(R.id.text_color_list_view);
-        tvFontType = rootView.findViewById(R.id.tv_font_type);
         ivFontItalic = rootView.findViewById(R.id.iv_font_italic);
         ivFontBold = rootView.findViewById(R.id.iv_font_bold);
         fontSizeSliderBar = rootView.findViewById(R.id.font_size_slider_bar);
         fontSpinner = rootView.findViewById(R.id.spinner_font);
         hideFormSwitch = rootView.findViewById(R.id.switch_hide_form);
-
-        tvFontType.setOnClickListener(this);
         ivFontItalic.setOnClickListener(this);
         ivFontBold.setOnClickListener(this);
         return rootView;
@@ -132,18 +123,14 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         borderColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setLineColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         backgroundColorListView.setOnColorSelectListener(color -> {
@@ -153,18 +140,14 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         backgroundColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setFillColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         textColorListView.setOnColorSelectListener(color -> {
@@ -174,18 +157,14 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
         });
         textColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setTextColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         fontSizeSliderBar.setChangeListener((progress, percentageValue, isStop) -> {
@@ -227,13 +206,7 @@ public class CListBoxStyleFragment extends CBasicPropertiesFragment implements V
 
     @Override
     public void onClick(View v) {
-        if (v.getId() == R.id.tv_font_type) {
-            showFontTypeFragment(viewModel.getStyle().getFontType(), fontType -> {
-                if (viewModel != null) {
-                    viewModel.getStyle().setFontType(fontType);
-                }
-            });
-        } else if (v.getId() == R.id.iv_font_bold) {
+        if (v.getId() == R.id.iv_font_bold) {
             ivFontBold.setSelected(!ivFontBold.isSelected());
             if (viewModel != null) {
                 viewModel.getStyle().setFontBold(ivFontBold.isSelected());

+ 0 - 3
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdfstyle/CFormStyle.java

@@ -11,7 +11,6 @@ package com.compdfkit.tools.form.pdfproperties.pdfstyle;
 
 
 import android.graphics.Color;
-import android.util.Log;
 
 import com.compdfkit.core.annotation.CPDFAnnotation;
 import com.compdfkit.core.annotation.CPDFTextAlignment;
@@ -21,7 +20,6 @@ import com.compdfkit.core.annotation.form.CPDFComboboxWidget;
 import com.compdfkit.core.annotation.form.CPDFListboxWidget;
 import com.compdfkit.core.annotation.form.CPDFRadiobuttonWidget;
 import com.compdfkit.core.annotation.form.CPDFTextWidget;
-import com.compdfkit.core.annotation.form.CPDFWidget;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
 import com.compdfkit.tools.common.views.pdfstyle.CStyleType;
 import com.compdfkit.tools.common.views.pdfstyle.manager.CStyleProvider;
@@ -31,7 +29,6 @@ import com.compdfkit.ui.proxy.form.CPDFComboboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFListboxWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFRadiobuttonWidgetImpl;
 import com.compdfkit.ui.proxy.form.CPDFTextWidgetImpl;
-import com.compdfkit.ui.reader.CPDFPageView;
 import com.compdfkit.ui.reader.PageView;
 
 import java.util.LinkedHashSet;

+ 28 - 52
compdfkit-tools/src/main/java/com/compdfkit/tools/form/pdfproperties/pdftextfield/CTextFieldStyleFragment.java

@@ -1,6 +1,6 @@
 /**
  * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- *
+ * <p>
  * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
@@ -24,11 +24,10 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatEditText;
 import androidx.appcompat.widget.AppCompatImageView;
-import androidx.appcompat.widget.AppCompatTextView;
 
 import com.compdfkit.core.annotation.CPDFTextAttribute;
 import com.compdfkit.tools.R;
-import com.compdfkit.tools.common.utils.view.colorpicker.widget.ColorPickerView;
+import com.compdfkit.tools.common.utils.view.colorpicker.CColorPickerFragment;
 import com.compdfkit.tools.common.utils.view.sliderbar.CSliderBar;
 import com.compdfkit.tools.common.views.pdfproperties.CPropertiesSwitchView;
 import com.compdfkit.tools.common.views.pdfproperties.basic.CBasicPropertiesFragment;
@@ -36,12 +35,13 @@ import com.compdfkit.tools.common.views.pdfproperties.colorlist.CColorListView;
 import com.compdfkit.tools.common.views.pdfproperties.font.CFontSpinnerAdapter;
 import com.compdfkit.tools.common.views.pdfproperties.textfields.CTextFieldsView;
 import com.compdfkit.tools.common.views.pdfstyle.CAnnotStyle;
+import com.compdfkit.tools.common.views.pdfstyle.CStyleFragmentDatas;
 
 import java.util.ArrayList;
 import java.util.List;
 
 
-public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements View.OnClickListener{
+public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements View.OnClickListener {
 
     public static CTextFieldStyleFragment newInstance() {
         return new CTextFieldStyleFragment();
@@ -57,8 +57,6 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
 
     private CColorListView textColorListView;
 
-    private AppCompatTextView tvFontType;
-
     private AppCompatImageView ivFontItalic;
 
     private AppCompatImageView ivFontBold;
@@ -89,7 +87,6 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         borderColorListView = rootView.findViewById(R.id.border_color_list_view);
         backgroundColorListView = rootView.findViewById(R.id.background_color_list_view);
         textColorListView = rootView.findViewById(R.id.text_color_list_view);
-        tvFontType = rootView.findViewById(R.id.tv_font_type);
         ivFontItalic = rootView.findViewById(R.id.iv_font_italic);
         ivFontBold = rootView.findViewById(R.id.iv_font_bold);
         llAlignment = rootView.findViewById(R.id.ll_alignment_type);
@@ -101,8 +98,6 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         etDefaultValue = rootView.findViewById(R.id.et_default_value);
         hideFormSwitch = rootView.findViewById(R.id.switch_hide_form);
         multiLineSwitch = rootView.findViewById(R.id.switch_multi_line);
-
-        tvFontType.setOnClickListener(this);
         ivFontItalic.setOnClickListener(this);
         ivFontBold.setOnClickListener(this);
         ivAlignmentLeft.setOnClickListener(this);
@@ -139,7 +134,8 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
                 case Times_Roman:
                     fontSpinner.setSelection(3);
                     break;
-                default:break;
+                default:
+                    break;
             }
             textFieldsView.setText(annotStyle.getFormFieldName());
             borderColorListView.setSelectColor(annotStyle.getLineColor());
@@ -173,18 +169,14 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         });
         borderColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getLineColor(), cAnnotStyle.getLineColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setLineColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         backgroundColorListView.setOnColorSelectListener(color -> {
@@ -194,20 +186,14 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         });
         backgroundColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getFillColor(), cAnnotStyle.getFillColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setFillColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-                    if (viewModel != null) {
-                        viewModel.getStyle().setFillColorOpacity(opacity);
-                    }
-                }
+                });
             });
         });
         textColorListView.setOnColorSelectListener(color -> {
@@ -217,18 +203,14 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         });
         textColorListView.setColorPickerClickListener(() -> {
             CAnnotStyle cAnnotStyle = viewModel.getStyle();
-            showColorPickerFragment(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity(), new ColorPickerView.COnColorChangeListener() {
-                @Override
-                public void color(int color) {
+            showFragment(CStyleFragmentDatas.colorPicker(), (CColorPickerFragment colorPickerFragment) -> {
+                colorPickerFragment.initColor(cAnnotStyle.getTextColor(), cAnnotStyle.getTextColorOpacity());
+                colorPickerFragment.showAlphaSliderBar(false);
+                colorPickerFragment.setColorPickerListener(color -> {
                     if (viewModel != null) {
                         viewModel.getStyle().setTextColor(color);
                     }
-                }
-
-                @Override
-                public void opacity(int opacity) {
-
-                }
+                });
             });
         });
         fontSizeSliderBar.setChangeListener((progress, percentageValue, isStop) -> {
@@ -254,9 +236,9 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         });
         textFieldsView.setTextChangedListener((s, start, before, count) -> {
             if (viewModel != null) {
-                if (TextUtils.isEmpty(s)){
+                if (TextUtils.isEmpty(s)) {
                     viewModel.getStyle().setFormFieldName("");
-                }else {
+                } else {
                     viewModel.getStyle().setFormFieldName(s.toString());
                 }
             }
@@ -270,9 +252,9 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
                 if (viewModel != null) {
-                    if (TextUtils.isEmpty(s)){
+                    if (TextUtils.isEmpty(s)) {
                         viewModel.getStyle().setFormDefaultValue("");
-                    }else {
+                    } else {
                         viewModel.getStyle().setFormDefaultValue(s.toString());
                     }
                 }
@@ -297,13 +279,7 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
 
     @Override
     public void onClick(View v) {
-        if (v.getId() == R.id.tv_font_type) {
-            showFontTypeFragment(viewModel.getStyle().getFontType(), fontType -> {
-                if (viewModel != null) {
-                    viewModel.getStyle().setFontType(fontType);
-                }
-            });
-        } else if (v.getId() == R.id.iv_font_bold) {
+        if (v.getId() == R.id.iv_font_bold) {
             ivFontBold.setSelected(!ivFontBold.isSelected());
             if (viewModel != null) {
                 viewModel.getStyle().setFontBold(ivFontBold.isSelected());
@@ -325,13 +301,13 @@ public class CTextFieldStyleFragment extends CBasicPropertiesFragment implements
         }
     }
 
-    private void selectAlignmentView(AppCompatImageView alignmentView){
+    private void selectAlignmentView(AppCompatImageView alignmentView) {
         for (View view : alignmentViews) {
             view.setSelected(view == alignmentView);
         }
     }
 
-    private void setAlignment(CAnnotStyle.Alignment alignment){
+    private void setAlignment(CAnnotStyle.Alignment alignment) {
         if (viewModel != null) {
             viewModel.getStyle().setAlignment(alignment);
         }

+ 1 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfbookmark/CPDFBookmarkFragment.java

@@ -28,9 +28,9 @@ import com.compdfkit.core.document.CPDFBookmark;
 import com.compdfkit.core.utils.TTimeUtil;
 import com.compdfkit.tools.R;
 import com.compdfkit.tools.common.interfaces.COnSetPDFDisplayPageIndexListener;
+import com.compdfkit.tools.common.utils.dialog.CEditDialog;
 import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
 import com.compdfkit.tools.viewer.pdfbookmark.adapter.CPDFBookmarkListAdapter;
-import com.compdfkit.tools.common.utils.dialog.CEditDialog;
 import com.google.android.material.floatingactionbutton.FloatingActionButton;
 
 import java.util.ArrayList;

+ 0 - 1
compdfkit-tools/src/main/java/com/compdfkit/tools/viewer/pdfthumbnail/CPDFEditThumbnailFragment.java

@@ -11,7 +11,6 @@ package com.compdfkit.tools.viewer.pdfthumbnail;
 
 import android.content.res.Configuration;
 import android.os.Bundle;
-import android.util.SparseIntArray;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;

+ 19 - 0
compdfkit-tools/src/main/res/drawable-night/tools_form.xml

@@ -0,0 +1,19 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="20"
+    android:viewportHeight="20">
+  <path
+      android:pathData="M1.428,2.5h17.143v6.429h-17.143z"
+      android:strokeWidth="1.5"
+      android:fillColor="#00000000"
+      android:strokeColor="#FFFFFF"/>
+  <path
+      android:pathData="M1.428,8.929h8.571v8.571h-8.571z"
+      android:strokeWidth="1.5"
+      android:fillColor="#00000000"
+      android:strokeColor="#FFFFFF"/>
+  <path
+      android:pathData="M16.429,4.647L14.82,6.786L13.214,4.643L16.429,4.647Z"
+      android:fillColor="#FFFFFF"/>
+</vector>

+ 10 - 0
compdfkit-tools/src/main/res/drawable-night/tools_page_edit.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="20"
+    android:viewportHeight="20">
+  <path
+      android:pathData="M2.5,2.5H7.5V7.5H2.5V2.5ZM1,1H2.5H7.5H9V2.5V7.5V9H7.5H2.5H1V7.5V2.5V1ZM2.5,12.5H7.5V17.5H2.5V12.5ZM1,11H2.5H7.5H9V12.5V17.5V19H7.5H2.5H1V17.5V12.5V11ZM17.5,2.5H12.5V7.5H17.5V2.5ZM12.5,1H11V2.5V7.5V9H12.5H17.5H19V7.5V2.5V1H17.5H12.5ZM12.5,12.5H17.5V17.5H12.5V12.5ZM11,11H12.5H17.5H19V12.5V17.5V19H17.5H12.5H11V17.5V12.5V11Z"
+      android:fillColor="#FFFFFF"
+      android:fillType="evenOdd"/>
+</vector>

+ 19 - 0
compdfkit-tools/src/main/res/drawable/tools_form.xml

@@ -0,0 +1,19 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="20"
+    android:viewportHeight="20">
+  <path
+      android:pathData="M1.428,2.5h17.143v6.429h-17.143z"
+      android:strokeWidth="1.5"
+      android:fillColor="#00000000"
+      android:strokeColor="#43474D"/>
+  <path
+      android:pathData="M1.428,8.929h8.571v8.571h-8.571z"
+      android:strokeWidth="1.5"
+      android:fillColor="#00000000"
+      android:strokeColor="#43474D"/>
+  <path
+      android:pathData="M16.429,4.647L14.82,6.786L13.214,4.643L16.429,4.647Z"
+      android:fillColor="#43474D"/>
+</vector>

+ 10 - 0
compdfkit-tools/src/main/res/drawable/tools_page_edit.xml

@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="20"
+    android:viewportHeight="20">
+  <path
+      android:pathData="M2.5,2.5H7.5V7.5H2.5V2.5ZM1,1H2.5H7.5H9V2.5V7.5V9H7.5H2.5H1V7.5V2.5V1ZM2.5,12.5H7.5V17.5H2.5V12.5ZM1,11H2.5H7.5H9V12.5V17.5V19H7.5H2.5H1V17.5V12.5V11ZM17.5,2.5H12.5V7.5H17.5V2.5ZM12.5,1H11V2.5V7.5V9H12.5H17.5H19V7.5V2.5V1H17.5H12.5ZM12.5,12.5H17.5V17.5H12.5V12.5ZM11,11H12.5H17.5H19V12.5V17.5V19H17.5H12.5H11V17.5V12.5V11Z"
+      android:fillColor="#43474D"
+      android:fillType="evenOdd"/>
+</vector>

+ 2 - 1
compdfkit-tools/src/main/res/layout/tools_bota_annotation_list_item_content.xml

@@ -47,7 +47,8 @@
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginTop="4dp"
-        android:maxLines="3"
+        android:maxLines="2"
+        android:ellipsize="end"
         android:textColor="@color/tools_text_color_secondary"
         android:visibility="visible"
         app:layout_constrainedWidth="true"

+ 0 - 1
compdfkit-tools/src/main/res/layout/tools_pageedit_insert_blank_page_dialog_fragment.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 

+ 0 - 1
compdfkit-tools/src/main/res/layout/tools_pageedit_insert_pdf_page_dialog_fragment.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 

+ 5 - 2
compdfkit-tools/src/main/res/layout/tools_pdf_mode_switch_dialog_fragment.xml

@@ -2,6 +2,7 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
+    xmlns:tools="http://schemas.android.com/tools"
     android:background="@drawable/tools_annot_style_dialog_window_bg"
     android:layout_height="wrap_content">
 
@@ -48,7 +49,8 @@
             style="@style/tools_pdf_reader_mode_radio_button_style"
             android:layout_height="60dp"
             android:visibility="gone"
-            android:drawableStart="@drawable/tools_edit"
+            tools:visibility="visible"
+            android:drawableStart="@drawable/tools_form"
             android:text="@string/tools_form_mode" />
 
 
@@ -57,7 +59,8 @@
             style="@style/tools_pdf_reader_mode_radio_button_style"
             android:layout_height="60dp"
             android:visibility="gone"
-            android:drawableStart="@drawable/tools_edit"
+            tools:visibility="visible"
+            android:drawableStart="@drawable/tools_page_edit"
             android:text="@string/tools_page_edit_mode" />
     </RadioGroup>
 

+ 5 - 6
compdfkit-tools/src/main/res/layout/tools_properties_check_box_style_fragment.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 
@@ -68,15 +67,14 @@
                 android:textColor="@color/tools_text_color_primary"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-               />
+                app:layout_constraintTop_toTopOf="parent" />
 
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:id="@+id/cl_check_box_type_item"
                 style="@style/tools_slider_bar_value_view_style"
                 android:layout_marginEnd="16dp"
-                android:foreground="@drawable/tools_common_btn_rectangle_ripple"
                 android:background="@drawable/tools_style_preview_bg"
+                android:foreground="@drawable/tools_common_btn_rectangle_ripple"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintTop_toTopOf="parent">
@@ -85,12 +83,13 @@
                     android:id="@+id/iv_check_box"
                     android:layout_width="20dp"
                     android:layout_height="20dp"
-                    app:srcCompat="@drawable/tools_ic_check_box_check"
                     app:layout_constraintBottom_toBottomOf="@id/iv_check_style_arrow"
                     app:layout_constraintEnd_toStartOf="@id/iv_check_style_arrow"
                     app:layout_constraintHorizontal_chainStyle="packed"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="@id/iv_check_style_arrow" />
+                    app:layout_constraintTop_toTopOf="@id/iv_check_style_arrow"
+                    app:srcCompat="@drawable/tools_ic_check_box_check"
+                    app:tint="@color/tools_text_color_primary" />
 
 
                 <androidx.appcompat.widget.AppCompatImageView

+ 0 - 1
compdfkit-tools/src/main/res/layout/tools_properties_checkbox_style_list_fragment.xml

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">

+ 0 - 10
compdfkit-tools/src/main/res/layout/tools_properties_free_text_typeface_list_fragment.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rv_typeface"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 24
compdfkit-tools/src/main/res/layout/tools_properties_free_text_typeface_list_item.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="50dp"
-    android:id="@+id/card_view"
-    xmlns:tools="http://schemas.android.com/tools"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    app:cardCornerRadius="2dp"
-    app:cardElevation="1dp"
-    android:layout_margin="8dp">
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_typeface"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        tools:text="Holo"
-        android:layout_gravity="center_vertical"
-        android:layout_marginStart="16dp"
-        android:textSize="20sp"
-        android:textColor="?android:attr/textColorPrimary"
-        />
-
-
-</androidx.cardview.widget.CardView>

+ 5 - 0
compdfkit-tools/src/main/res/values/tools_attrs.xml

@@ -90,4 +90,9 @@
         <attr name="tools_pageeditbar_title"/>
         <attr name="tools_pageeditbar_back_icon" format="reference"/>
     </declare-styleable>
+
+    <declare-styleable name="ColorPickerView" tools:ignore="ResourceName">
+        <attr name="tools_show_alpha_slider_bar" format="boolean"/>
+    </declare-styleable>
+
 </resources>

+ 2 - 0
compdfkit-tools/src/main/res/values/tools_strings.xml

@@ -138,6 +138,8 @@
     <string name="tools_please_enter_url">Please enter a URL</string>
     <string name="tools_please_enter_page">Please enter page number</string>
     <string name="tools_please_enter_email">Please enter a Email</string>
+    <string name="tools_compdf_website">https://www.compdf.com</string>
+    <string name="tools_compdf_email">support@compdf.com</string>
     <string name="tools_record">Record</string>
     <string name="tools_play">Play</string>
     <string name="tools_use_sound_annot">If you need to use voice annotations, you need to grant recording permission</string>

+ 6 - 1
form-ctrl-demo/src/main/AndroidManifest.xml

@@ -2,10 +2,15 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.compdfkit.demo.form">
 
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+
     <application
         android:allowBackup="true"
-        android:icon="@mipmap/ic_launcher"
+        android:icon="@mipmap/form_ic_launcher"
+        android:roundIcon="@mipmap/form_ic_launcher_round"
         android:label="@string/app_name"
+        android:requestLegacyExternalStorage="true"
         android:supportsRtl="true"
         android:theme="@style/Form_Compdfkit_android_demo">
         <activity

+ 10 - 11
form-ctrl-demo/src/main/java/com/compdfkit/demo/form/PDFFormSampleActivity.java

@@ -6,6 +6,7 @@ import android.graphics.Color;
 import android.net.Uri;
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 
 import androidx.activity.result.ActivityResultLauncher;
@@ -81,11 +82,10 @@ public class PDFFormSampleActivity extends AppCompatActivity {
         initFormAttribute();
         CExtractAssetFileTask.extract(this, QUICK_START_GUIDE, QUICK_START_GUIDE, (filePath) ->
                 binding.pdfView.openPDF(filePath));
-        binding.pdfView.getCPdfReaderView().setContextMenuShowListener(
-                new CPDFContextMenuHelper.Builder()
-                        .defaultFormHelper()
-                        .create(binding.pdfView)
-        );
+        CPDFContextMenuHelper helper = new CPDFContextMenuHelper.Builder()
+                .defaultFormHelper()
+                .create(binding.pdfView);
+        binding.pdfView.getCPdfReaderView().setContextMenuShowListener(helper);
         binding.pdfView.setOnTapMainDocAreaCallback(() -> {
             //Use the CFillScreenManager.class to manage fullscreen switching.
             screenManager.fillScreenChange();
@@ -97,13 +97,12 @@ public class PDFFormSampleActivity extends AppCompatActivity {
     }
 
     private void initFormAttribute(){
-        int bgColor = ContextCompat.getColor(this, R.color.tools_edit_text_bg_select);
        new CStyleManager.Builder()
-               .setTextField(Color.TRANSPARENT, Color.RED, Color.BLACK, 25, 2, false)
-               .setCheckBox(Color.BLACK, Color.RED, Color.BLACK, 2, CPDFWidget.CheckStyle.CK_Check)
-               .setRadioButton(Color.BLACK, Color.RED, Color.BLACK, 2, CPDFWidget.CheckStyle.CK_Circle)
-               .setListBox(Color.BLACK, bgColor,  Color.WHITE, 20)
-               .setComboBox(Color.BLACK, bgColor,  Color.BLACK, 20)
+               .setTextField(Color.TRANSPARENT, Color.WHITE, Color.BLACK, 25, 2, false)
+               .setCheckBox(Color.TRANSPARENT, Color.WHITE, Color.BLACK, 2, CPDFWidget.CheckStyle.CK_Check)
+               .setRadioButton(Color.BLACK, Color.WHITE, Color.BLACK, 2, CPDFWidget.CheckStyle.CK_Circle)
+               .setListBox(Color.TRANSPARENT, Color.WHITE,  Color.BLACK, 20, 2)
+               .setComboBox(Color.TRANSPARENT, Color.WHITE,  Color.BLACK, 20, 2)
                .init(binding.pdfView);
     }
 

Різницю між файлами не показано, бо вона завелика
+ 0 - 30
form-ctrl-demo/src/main/res/drawable-v24/ic_launcher_foreground.xml


+ 0 - 170
form-ctrl-demo/src/main/res/drawable/ic_launcher_background.xml

@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-</vector>

+ 5 - 0
form-ctrl-demo/src/main/res/mipmap-anydpi-v26/form_ic_launcher.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/form_ic_launcher_background"/>
+    <foreground android:drawable="@mipmap/form_ic_launcher_foreground"/>
+</adaptive-icon>

+ 5 - 0
form-ctrl-demo/src/main/res/mipmap-anydpi-v26/form_ic_launcher_round.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/form_ic_launcher_background"/>
+    <foreground android:drawable="@mipmap/form_ic_launcher_foreground"/>
+</adaptive-icon>

+ 0 - 5
form-ctrl-demo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>

+ 0 - 5
form-ctrl-demo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>

+ 6 - 0
form-ctrl-demo/src/main/res/mipmap-anydpi-v33/form_ic_launcher.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/form_ic_launcher_background" />
+    <foreground android:drawable="@mipmap/form_ic_launcher_foreground" />
+    <monochrome android:drawable="@mipmap/form_ic_launcher_foreground" />
+</adaptive-icon>

+ 0 - 6
form-ctrl-demo/src/main/res/mipmap-anydpi-v33/ic_launcher.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-    <monochrome android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>

BIN
form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher.png


BIN
form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher_foreground.png


BIN
form-ctrl-demo/src/main/res/mipmap-hdpi/form_ic_launcher_round.png


BIN
form-ctrl-demo/src/main/res/mipmap-hdpi/ic_launcher.webp


BIN
form-ctrl-demo/src/main/res/mipmap-hdpi/ic_launcher_round.webp


BIN
form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher.png


BIN
form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher_foreground.png


BIN
form-ctrl-demo/src/main/res/mipmap-mdpi/form_ic_launcher_round.png


BIN
form-ctrl-demo/src/main/res/mipmap-mdpi/ic_launcher.webp


BIN
form-ctrl-demo/src/main/res/mipmap-mdpi/ic_launcher_round.webp


BIN
form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher.png


BIN
form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher_foreground.png


BIN
form-ctrl-demo/src/main/res/mipmap-xhdpi/form_ic_launcher_round.png


+ 0 - 0
form-ctrl-demo/src/main/res/mipmap-xhdpi/ic_launcher.webp


Деякі файли не було показано, через те що забагато файлів було змінено