|
@@ -14,6 +14,7 @@ import android.os.Bundle;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
+import android.widget.CompoundButton;
|
|
|
import android.widget.RadioGroup;
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
@@ -29,11 +30,14 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
|
|
import com.google.android.material.switchmaterial.SwitchMaterial;
|
|
|
|
|
|
-public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment {
|
|
|
+public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment implements RadioGroup.OnCheckedChangeListener, CompoundButton.OnCheckedChangeListener {
|
|
|
|
|
|
public static final int READER_BG_LIGHT_MODE = 0xFFFFFFFF;
|
|
|
public static final int READER_BG_DARK_MODE = 0xFF333333;
|
|
|
- public static final int READER_BG_PAPER_MODE = 0xFFFFEFBE;
|
|
|
+ public static final int READER_BG_SEPIA_MODE = 0xFFFFEFBE;
|
|
|
+
|
|
|
+ public static final int READER_BG_RESEDA_MODE = 0XFFCDE6D0;
|
|
|
+
|
|
|
|
|
|
private CToolBar toolBar;
|
|
|
private RadioGroup readerModeRadioGroup;
|
|
@@ -47,7 +51,9 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
|
|
|
private RadioGroup readerBgRadioGroup;
|
|
|
private AppCompatRadioButton rbLightMode;
|
|
|
private AppCompatRadioButton rbDarkMode;
|
|
|
- private AppCompatRadioButton rbPaperMode;
|
|
|
+ private AppCompatRadioButton rbSepiaMode;
|
|
|
+
|
|
|
+ private AppCompatRadioButton rbResedaMode;
|
|
|
|
|
|
|
|
|
private CPDFReaderView cpdfReaderView;
|
|
@@ -87,7 +93,15 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
|
|
|
readerBgRadioGroup = rootView.findViewById(R.id.radio_group_reader_bg);
|
|
|
rbLightMode = rootView.findViewById(R.id.r_btn_light_mode);
|
|
|
rbDarkMode = rootView.findViewById(R.id.r_btn_dark_mode);
|
|
|
- rbPaperMode = rootView.findViewById(R.id.r_btn_paper_mode);
|
|
|
+ rbSepiaMode = rootView.findViewById(R.id.r_btn_sepia_mode);
|
|
|
+ rbResedaMode = rootView.findViewById(R.id.r_btn_reseda_mode);
|
|
|
+
|
|
|
+ swIsContinue.setOnCheckedChangeListener(this);
|
|
|
+ swIsVertical.setOnCheckedChangeListener(this);
|
|
|
+ swIsCropMode.setOnCheckedChangeListener(this);
|
|
|
+
|
|
|
+ readerModeRadioGroup.setOnCheckedChangeListener(this);
|
|
|
+ readerBgRadioGroup.setOnCheckedChangeListener(this);
|
|
|
return rootView;
|
|
|
}
|
|
|
|
|
@@ -99,9 +113,11 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
|
|
|
com.compdfkit.ui.reader.CPDFReaderView readerView = cpdfReaderView.getCPdfReaderView();
|
|
|
|
|
|
if (readerView.isDoublePageMode()) {
|
|
|
- rbDoublePage.setChecked(true);
|
|
|
- } else if (readerView.isDoublePageMode() && readerView.isCoverPageMode()) {
|
|
|
- rbCoverDoublePage.setChecked(true);
|
|
|
+ if (readerView.isCoverPageMode()) {
|
|
|
+ rbCoverDoublePage.setChecked(true);
|
|
|
+ } else {
|
|
|
+ rbDoublePage.setChecked(true);
|
|
|
+ }
|
|
|
} else {
|
|
|
rbSinglePage.setChecked(true);
|
|
|
}
|
|
@@ -118,12 +134,66 @@ public class CPDFDisplaySettingDialogFragment extends BottomSheetDialogFragment
|
|
|
case READER_BG_DARK_MODE:
|
|
|
rbDarkMode.setChecked(true);
|
|
|
break;
|
|
|
- case READER_BG_PAPER_MODE:
|
|
|
- rbPaperMode.setChecked(true);
|
|
|
+ case READER_BG_SEPIA_MODE:
|
|
|
+ rbSepiaMode.setChecked(true);
|
|
|
+ break;
|
|
|
+ case READER_BG_RESEDA_MODE:
|
|
|
+ rbResedaMode.setChecked(true);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCheckedChanged(RadioGroup group, int checkedId) {
|
|
|
+ if (checkedId == R.id.r_btn_light_mode) {
|
|
|
+ setReaderBackgroundColor(READER_BG_LIGHT_MODE);
|
|
|
+ } else if (checkedId == R.id.r_btn_dark_mode) {
|
|
|
+ setReaderBackgroundColor(READER_BG_DARK_MODE);
|
|
|
+ } else if (checkedId == R.id.r_btn_sepia_mode) {
|
|
|
+ setReaderBackgroundColor(READER_BG_SEPIA_MODE);
|
|
|
+ } else if (checkedId == R.id.r_btn_reseda_mode) {
|
|
|
+ setReaderBackgroundColor(READER_BG_RESEDA_MODE);
|
|
|
+ } else if (checkedId == R.id.r_btn_single_page) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setDoublePageMode(false);
|
|
|
+ cpdfReaderView.getCPdfReaderView().setCoverPageMode(false);
|
|
|
+ }
|
|
|
+ } else if (checkedId == R.id.r_btn_double_page) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setDoublePageMode(true);
|
|
|
+ cpdfReaderView.getCPdfReaderView().setCoverPageMode(false);
|
|
|
+ }
|
|
|
+ } else if (checkedId == R.id.r_btn_cover_double_page) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setDoublePageMode(true);
|
|
|
+ cpdfReaderView.getCPdfReaderView().setCoverPageMode(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
|
|
+ if (buttonView.getId() == R.id.sw_is_vertical) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setVerticalMode(isChecked);
|
|
|
+ }
|
|
|
+ } else if (buttonView.getId() == R.id.sw_is_continue) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setContinueMode(isChecked);
|
|
|
+ }
|
|
|
+ } else if (buttonView.getId() == R.id.sw_is_crop) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setCropMode(isChecked);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setReaderBackgroundColor(int color) {
|
|
|
+ if (cpdfReaderView != null) {
|
|
|
+ cpdfReaderView.getCPdfReaderView().setReadBackgroundColor(color);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|