diff --git a/app/src/main/java/io/legato/kazusa/App.kt b/app/src/main/java/io/legato/kazusa/App.kt index a8a35f727..19a342257 100644 --- a/app/src/main/java/io/legato/kazusa/App.kt +++ b/app/src/main/java/io/legato/kazusa/App.kt @@ -7,7 +7,6 @@ import android.app.NotificationManager import android.content.Context import android.content.pm.ApplicationInfo import android.content.res.Configuration -import android.os.Build import com.github.liuyueyi.quick.transfer.constants.TransType import com.google.android.material.color.DynamicColors import com.jeremyliao.liveeventbus.LiveEventBus @@ -165,7 +164,6 @@ class App : Application() { * 创建通知ID */ private fun createNotificationChannels() { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return val downloadChannel = NotificationChannel( channelIdDownload, getString(R.string.action_download), diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt index ef3e58229..e5f563cb7 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ReadStyleDialog.kt @@ -65,6 +65,10 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_ rvStyle.adapter = styleAdapter styleAdapter.addFooterView { ItemReadStyleBinding.inflate(layoutInflater, it, false).apply { + tvStyle.text = "" + cdStyle.cardElevation = 2f.dpToPx() + cdStyle.radius = 32f.dpToPx() + cdStyle.strokeWidth = 0 ivStyle.setImageResource(R.drawable.ic_add) root.setOnClickListener { ReadBookConfig.configList.add(ReadBookConfig.Config()) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/TipConfigDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/TipConfigDialog.kt index ce036d681..a5dc99c85 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/TipConfigDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/config/TipConfigDialog.kt @@ -2,6 +2,7 @@ package io.legato.kazusa.ui.book.read.config import android.os.Bundle import android.view.View +import com.google.android.material.chip.Chip import com.jaredrummler.android.colorpicker.ColorPickerDialog import io.legato.kazusa.R import io.legato.kazusa.base.BaseBottomSheetDialogFragment @@ -51,10 +52,43 @@ class TipConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_tip_config binding.dsbTitleTop.progress = ReadBookConfig.titleTopSpacing binding.dsbTitleBottom.progress = ReadBookConfig.titleBottomSpacing - binding.tvHeaderShow.text = - ReadTipConfig.getHeaderModes(requireContext())[ReadTipConfig.headerMode] - binding.tvFooterShow.text = - ReadTipConfig.getFooterModes(requireContext())[ReadTipConfig.footerMode] + val headerModes = ReadTipConfig.getHeaderModes(requireContext()) + binding.chipHeaderMode.removeAllViews() + + headerModes.forEach { (key, value) -> + val chip = Chip(requireContext()).apply { + id = View.generateViewId() + text = value + isCheckable = true + isClickable = true + tag = key + } + + binding.chipHeaderMode.addView(chip) + + if (key == ReadTipConfig.headerMode) { + chip.isChecked = true + } + } + + val footerModes = ReadTipConfig.getFooterModes(requireContext()) + binding.chipFooterMode.removeAllViews() + + footerModes.forEach { (key, value) -> + val chip = Chip(requireContext()).apply { + id = View.generateViewId() + text = value + isCheckable = true + isClickable = true + tag = key + } + + binding.chipFooterMode.addView(chip) + + if (key == ReadTipConfig.footerMode) { + chip.isChecked = true + } + } ReadTipConfig.run { tipNames.let { tipNames -> @@ -114,19 +148,19 @@ class TipConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_tip_config ReadBookConfig.titleBottomSpacing = it postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5)) } - llHeaderShow.setOnClickListener { - val headerModes = ReadTipConfig.getHeaderModes(requireContext()) - context?.selector(items = headerModes.values.toList()) { _, i -> - ReadTipConfig.headerMode = headerModes.keys.toList()[i] - tvHeaderShow.text = headerModes[ReadTipConfig.headerMode] + chipHeaderMode.setOnCheckedStateChangeListener { group, checkedIds -> + if (checkedIds.isNotEmpty()) { + val selectedChip = group.findViewById(checkedIds[0]) + val mode = selectedChip.tag as Int + ReadTipConfig.headerMode = mode postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } - llFooterShow.setOnClickListener { - val footerModes = ReadTipConfig.getFooterModes(requireContext()) - context?.selector(items = footerModes.values.toList()) { _, i -> - ReadTipConfig.footerMode = footerModes.keys.toList()[i] - tvFooterShow.text = footerModes[ReadTipConfig.footerMode] + chipFooterMode.setOnCheckedStateChangeListener { group, checkedIds -> + if (checkedIds.isNotEmpty()) { + val selectedChip = group.findViewById(checkedIds[0]) + val mode = selectedChip.tag as Int + ReadTipConfig.footerMode = mode postEvent(EventBus.UP_CONFIG, arrayListOf(2)) } } diff --git a/app/src/main/res/layout/dialog_tip_config.xml b/app/src/main/res/layout/dialog_tip_config.xml index 70fda49fa..98bdc28ab 100644 --- a/app/src/main/res/layout/dialog_tip_config.xml +++ b/app/src/main/res/layout/dialog_tip_config.xml @@ -53,26 +53,29 @@ android:id="@+id/rb_title_mode1" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:checkable="true" android:text="@string/title_left" /> - @@ -81,6 +84,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> + - - - + android:gravity="center_vertical" + app:selectionRequired="true" + app:singleSelection="true" /> @@ -218,20 +218,15 @@ android:layout_height="wrap_content" android:paddingVertical="4dp" android:gravity="center_vertical" - android:orientation="horizontal" + android:orientation="vertical" tools:ignore="RtlHardcoded,RtlSymmetry"> - - - + app:selectionRequired="true" + app:singleSelection="true" /> diff --git a/app/src/main/res/layout/item_read_style.xml b/app/src/main/res/layout/item_read_style.xml index 2f2182437..8cc6a8328 100644 --- a/app/src/main/res/layout/item_read_style.xml +++ b/app/src/main/res/layout/item_read_style.xml @@ -14,6 +14,7 @@ diff --git a/app/src/main/res/layout/view_detail_seek_bar.xml b/app/src/main/res/layout/view_detail_seek_bar.xml index b0577b22d..033e91214 100644 --- a/app/src/main/res/layout/view_detail_seek_bar.xml +++ b/app/src/main/res/layout/view_detail_seek_bar.xml @@ -11,7 +11,7 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_vertical" - android:paddingHorizontal="16dp" + android:paddingTop="8dp" android:paddingBottom="4dp"> @@ -20,7 +20,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" - android:text="seek" + android:text="@string/text" + android:textSize="12sp" android:textStyle="bold" /> + android:orientation="vertical"> + + android:textColor="?attr/colorSecondary" + android:textSize="13sp" + android:textStyle="bold" /> - - -