更新界面

This commit is contained in:
HapeLee
2025-06-11 22:36:33 +08:00
parent 60b9f922cc
commit f8a39f1a24
17 changed files with 795 additions and 233 deletions
@@ -141,6 +141,9 @@ abstract class BaseActivity<VB : ViewBinding>(
"1" -> setTheme(R.style.Theme_Base_GR)
"2" -> setTheme(R.style.Theme_Base_Lemon)
"3" -> setTheme(R.style.Theme_Base_WH)
"4" -> setTheme(R.style.Theme_Base_Koharu)
"5" -> setTheme(R.style.Theme_Base_Yuuka)
"6" -> setTheme(R.style.Theme_Base_Phoebe)
}
}
@@ -92,6 +92,9 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co
"1" to R.style.Theme_Base_GR,
"2" to R.style.Theme_Base_Lemon,
"3" to R.style.Theme_Base_WH,
"4" to R.style.Theme_Base_Koharu,
"5" to R.style.Theme_Base_Yuuka,
"6" to R.style.Theme_Base_Phoebe
)
private fun getThemeColors(value: String): List<Int> {
@@ -1,6 +1,7 @@
package io.legato.kazusa.ui.book.read.config
import android.content.DialogInterface
import android.graphics.Color
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
@@ -16,17 +17,17 @@ import io.legato.kazusa.databinding.ItemReadStyleBinding
import io.legato.kazusa.help.config.AppConfig
import io.legato.kazusa.help.config.ReadBookConfig
import io.legato.kazusa.lib.dialogs.selector
//import io.legado.app.lib.theme.accentColor
//import io.legado.app.lib.theme.bottomBackground
//import io.legado.app.lib.theme.getPrimaryTextColor
import io.legato.kazusa.model.ReadBook
import io.legato.kazusa.ui.book.read.ReadBookActivity
import io.legato.kazusa.ui.font.FontSelectDialog
import io.legato.kazusa.ui.widget.DetailSeekBar
import io.legato.kazusa.utils.ChineseUtils
import io.legato.kazusa.utils.postEvent
import io.legato.kazusa.utils.showDialogFragment
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
import splitties.views.onLongClick
import androidx.core.graphics.drawable.toDrawable
import androidx.transition.TransitionManager
class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_style),
FontSelectDialog.CallBack {
@@ -35,6 +36,9 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_
private val callBack get() = activity as? ReadBookActivity
private lateinit var styleAdapter: StyleAdapter
private lateinit var allSliders: List<DetailSeekBar>
override fun onStart() {
super.onStart()
// dialog?.window?.run {
@@ -154,6 +158,23 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_
upView()
postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5))
}
allSliders = listOf(
dsbTextSize,
dsbTextLetterSpacing,
dsbLineSize,
dsbParagraphSpacing
)
allSliders.forEach { seekBar ->
seekBar.onStartTracking = {
setOnlyActiveSeekBarVisible(seekBar, true)
}
seekBar.onStopTracking = {
setOnlyActiveSeekBarVisible(seekBar, false)
}
}
dsbTextSize.onChanged = {
ReadBookConfig.textSize = it + 5
postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5))
@@ -172,6 +193,27 @@ class ReadStyleDialog : BaseBottomSheetDialogFragment(R.layout.dialog_read_book_
}
}
private fun setOnlyActiveSeekBarVisible(activeSeekBar: DetailSeekBar, visible: Boolean) {
if (visible == true) {
TransitionManager.beginDelayedTransition(binding.setBar)
TransitionManager.beginDelayedTransition(binding.setBottomBar)
binding.setBar.visibility = View.GONE
binding.setBottomBar.visibility = View.GONE
}else{
TransitionManager.beginDelayedTransition(binding.setBar)
TransitionManager.beginDelayedTransition(binding.setBottomBar)
binding.setBar.visibility = View.VISIBLE
binding.setBottomBar.visibility = View.VISIBLE
}
allSliders.forEach { seekBar ->
if (seekBar != activeSeekBar) {
seekBar.visibility = if (visible) View.GONE else View.VISIBLE
}
}
}
private fun changeBgTextConfig(index: Int) {
val oldIndex = ReadBookConfig.styleSelect
if (index != oldIndex) {
@@ -24,7 +24,9 @@ class DetailSeekBar @JvmOverloads constructor(
private val isBottomBackground: Boolean
var valueFormat: ((progress: Int) -> String)? = null
var onStartTracking: (() -> Unit)? = null
var onChanged: ((progress: Int) -> Unit)? = null
var onStopTracking: (() -> Unit)? = null
var progress: Int
get() = binding.slider.value.toInt()
@@ -50,14 +52,6 @@ class DetailSeekBar @JvmOverloads constructor(
}
binding.slider.valueTo = typedArray.getInteger(R.styleable.DetailSeekBar_max, 0).toFloat()
typedArray.recycle()
if (isBottomBackground && !isInEditMode) {
// val isLight = ColorUtils.isColorLight(context.bottomBackground)
// val textColor = context.getPrimaryTextColor(isLight)
// binding.tvSeekTitle.setTextColor(textColor)
// binding.ivSeekPlus.setColorFilter(textColor, PorterDuff.Mode.SRC_IN)
// binding.ivSeekReduce.setColorFilter(textColor, PorterDuff.Mode.SRC_IN)
// binding.tvSeekValue.setTextColor(textColor)
}
binding.ivSeekPlus.setOnClickListener {
val newValue = (binding.slider.value + 1).coerceAtMost(binding.slider.valueTo)
binding.slider.value = newValue
@@ -72,14 +66,19 @@ class DetailSeekBar @JvmOverloads constructor(
binding.slider.addOnChangeListener { _, value, fromUser ->
upValue(value.toInt())
if (fromUser) {
onChanged?.invoke(value.toInt())
}
}
binding.slider.addOnSliderTouchListener(object : Slider.OnSliderTouchListener {
override fun onStartTrackingTouch(slider: Slider) {
// 可以添加开始拖动时的逻辑
onStartTracking?.invoke()
}
override fun onStopTrackingTouch(slider: Slider) {
onStopTracking?.invoke()
onChanged?.invoke(slider.value.toInt())
}
})
@@ -9,19 +9,20 @@ import io.legato.kazusa.lib.theme.Selector
import io.legato.kazusa.utils.ColorUtils
import io.legato.kazusa.utils.dpToPx
import androidx.core.content.withStyledAttributes
import io.legato.kazusa.utils.themeColor
class AccentBgTextView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : MaterialTextView(context, attrs) {
private var radiusPx = 0
private var radiusPx = 32
init {
context.withStyledAttributes(attrs, R.styleable.AccentBgTextView) {
val radiusDp = getDimensionPixelOffset(R.styleable.AccentBgTextView_radius, 0)
radiusPx = radiusDp
}
// context.withStyledAttributes(attrs, R.styleable.AccentBgTextView) {
// val radiusDp = getDimensionPixelOffset(R.styleable.AccentBgTextView_radius, 0)
// radiusPx = radiusDp
// }
updateBackground()
}
@@ -31,16 +32,8 @@ class AccentBgTextView @JvmOverloads constructor(
}
private fun updateBackground() {
val backgroundColor = MaterialColors.getColor(
this,
com.google.android.material.R.attr.colorPrimaryContainer,
//context.getColorCompat(R.color.fallback_bg)
)
val textColor = MaterialColors.getColor(
this,
com.google.android.material.R.attr.colorOnPrimaryContainer,
//context.getColorCompat(R.color.fallback_text)
)
val backgroundColor = context.themeColor(com.google.android.material.R.attr.colorPrimaryContainer)
val textColor = context.themeColor(com.google.android.material.R.attr.colorOnPrimaryContainer)
background = Selector.shapeBuild()
.setCornerRadius(radiusPx)
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
<path android:fillColor="@android:color/white" android:pathData="M272,760L272,200L493,200Q558,200 613,240Q668,280 668,351Q668,402 645,429.5Q622,457 602,469L602,469Q627,480 657.5,510Q688,540 688,600Q688,689 623,724.5Q558,760 501,760L272,760ZM393,648L497,648Q545,648 555.5,623.5Q566,599 566,588Q566,577 555.5,552.5Q545,528 494,528L393,528L393,648ZM393,420L486,420Q519,420 534,403Q549,386 549,365Q549,341 532,326Q515,311 488,311L393,311L393,420Z"/>
</vector>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
<path android:fillColor="@android:color/white" android:pathData="M280,800L280,280L80,280L80,160L600,160L600,280L400,280L400,800L280,800ZM640,800L640,480L520,480L520,360L880,360L880,480L760,480L760,800L640,800Z"/>
</vector>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
<path android:fillColor="@android:color/white" android:pathData="M120,800L120,160L200,160L200,800L120,800ZM760,800L760,160L840,160L840,800L760,800ZM294,680L444,280L516,280L666,680L596,680L562,578L400,578L364,680L294,680ZM420,520L540,520L482,354L482,354L420,520Z"/>
</vector>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal" android:autoMirrored="true">
<path android:fillColor="@android:color/white" android:pathData="M360,720L360,640L840,640L840,720L360,720ZM360,520L360,440L840,440L840,520L360,520ZM120,320L120,240L840,240L840,320L120,320Z"/>
</vector>
+199 -165
View File
@@ -33,66 +33,94 @@
</LinearLayout>
<LinearLayout
android:id="@+id/set_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginHorizontal="16dp" >
<io.legato.kazusa.ui.book.read.config.TextFontWeightConverter
android:id="@+id/text_font_weight_converter"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/font_weight_text" />
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginHorizontal="12dp" >
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_text_font"
android:layout_width="wrap_content"
<io.legato.kazusa.ui.book.read.config.TextFontWeightConverter
android:id="@+id/text_font_weight_converter"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:layout_width="72dp"
android:layout_height="72dp"
app:icon="@drawable/font_bold"
app:iconGravity="textTop"
android:text="@string/font_weight_text" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_text_font"
android:layout_width="72dp"
android:layout_height="72dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
app:icon="@drawable/font_style"
app:iconGravity="textTop"
android:text="@string/text_font" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_text_indent"
android:layout_width="72dp"
android:layout_height="72dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
app:icon="@drawable/ic_segment"
app:iconGravity="textTop"
android:text="@string/text_indent" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_padding"
android:layout_width="72dp"
android:layout_height="72dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
app:icon="@drawable/ic_padding"
app:iconGravity="textTop"
android:text="@string/padding" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.TonalButton"
android:text="@string/text_font" />
android:layout_marginTop="8dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginHorizontal="12dp" >
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_text_indent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.TonalButton"
android:text="@string/text_indent" />
<io.legato.kazusa.ui.book.read.config.ChineseConverter
android:id="@+id/chinese_converter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Material3.Button.IconButton.Outlined" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginHorizontal="16dp" >
<io.legato.kazusa.ui.book.read.config.ChineseConverter
android:id="@+id/chinese_converter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Material3.Button.TonalButton" />
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Material3.Button.TonalButton"
android:text="@string/padding" />
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Material3.Button.TonalButton"
android:text="@string/information" />
<com.google.android.material.button.MaterialButton
android:id="@+id/tv_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Material3.Button.IconButton.Outlined"
android:text="@string/information" />
</LinearLayout>
</LinearLayout>
<io.legato.kazusa.ui.widget.DetailSeekBar
@@ -140,129 +168,135 @@
android:layout_marginVertical="8dp"
android:background="@color/btn_bg_press" />
<TextView
android:id="@+id/tv_page_anim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="4dp"
android:text="@string/page_anim"
android:textSize="12sp" />
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<com.google.android.material.chip.ChipGroup
android:id="@+id/rg_page_anim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
app:singleLine="true"
app:singleSelection="true"
app:selectionRequired="true">
<com.google.android.material.chip.Chip
android:id="@+id/rb_anim0"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/page_anim_cover"
/>
<!-- 滑动动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_anim1"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_slide"
app:chipStrokeWidth="1dp" />
<!-- 仿真翻页 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_simulation_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_simulation"
app:chipStrokeWidth="1dp" />
<!-- 滚动动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_scroll_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_scroll"
app:chipStrokeWidth="1dp" />
<!-- 无动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_no_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_none"
app:chipStrokeWidth="1dp" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
<View
android:id="@+id/vw_bg_fg1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
android:background="@color/btn_bg_press" />
<LinearLayout
android:id="@+id/set_bottom_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="vertical">
<TextView
android:id="@+id/tv_bg_ts"
android:layout_width="0dp"
android:id="@+id/tv_page_anim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:alpha="0.75"
android:text="@string/text_bg_style"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="4dp"
android:text="@string/page_anim"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_share_layout"
android:layout_width="wrap_content"
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/share_layout" />
android:scrollbars="none">
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/cb_share_layout"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="16dp" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/rg_page_anim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
app:singleLine="true"
app:singleSelection="true"
app:selectionRequired="true">
<com.google.android.material.chip.Chip
android:id="@+id/rb_anim0"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/page_anim_cover"
/>
<!-- 滑动动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_anim1"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_slide"
app:chipStrokeWidth="1dp" />
<!-- 仿真翻页 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_simulation_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_simulation"
app:chipStrokeWidth="1dp" />
<!-- 滚动动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_scroll_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_scroll"
app:chipStrokeWidth="1dp" />
<!-- 无动画 Chip -->
<com.google.android.material.chip.Chip
android:id="@+id/rb_no_anim"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:text="@string/page_anim_none"
app:chipStrokeWidth="1dp" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
<View
android:id="@+id/vw_bg_fg1"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
android:background="@color/btn_bg_press" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_bg_ts"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:alpha="0.75"
android:text="@string/text_bg_style"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_share_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/share_layout" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/cb_share_layout"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="6dp"
android:layout_marginEnd="16dp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:clipToPadding="false"
android:orientation="horizontal"
android:paddingHorizontal="12dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tool:listitem="@layout/item_read_style" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
android:clipToPadding="false"
android:orientation="horizontal"
android:paddingHorizontal="12dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tool:listitem="@layout/item_read_style" />
</LinearLayout>
+4 -4
View File
@@ -61,9 +61,9 @@
android:id="@+id/tv_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:layout_marginEnd="16dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:text="TXT"
android:maxLines="1"
android:maxWidth="50dp"
@@ -74,7 +74,7 @@
android:id="@+id/tv_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginEnd="16dp"
tools:ignore="RtlHardcoded"
tools:text="324kb" />
@@ -3,49 +3,74 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginVertical="4dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_seek_title"
android:layout_width="60dp"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="seek"
tools:ignore="HardcodedText" />
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="4dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_seek_reduce"
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@string/reduce"
android:src="@drawable/ic_reduce"
android:background="?android:attr/selectableItemBackgroundBorderless" />
<TextView
android:id="@+id/tv_seek_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="seek"
tools:ignore="HardcodedText" />
<io.legato.kazusa.lib.theme.view.ThemeSlider
android:id="@+id/slider"
android:layout_width="0dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:layout_weight="4"
android:stepSize="1"/>
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_seek_plus"
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@string/plus"
android:src="@drawable/ic_add"
android:background="?android:attr/selectableItemBackgroundBorderless"
/>
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="@android:color/transparent">
<TextView
android:id="@+id/tv_seek_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="8dp"
android:paddingVertical="4dp"
android:singleLine="true"
android:text="0" />
</com.google.android.material.card.MaterialCardView>
<TextView
android:id="@+id/tv_seek_value"
android:layout_width="60dp"
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:singleLine="true"
android:text="0"
/>
android:orientation="horizontal"
android:gravity="center">
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_seek_reduce"
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:contentDescription="@string/reduce"
app:icon="@drawable/ic_reduce" />
<com.google.android.material.slider.Slider
android:id="@+id/slider"
android:layout_width="0dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:layout_weight="4"
android:stepSize="1"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/iv_seek_plus"
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
android:contentDescription="@string/plus"
app:icon="@drawable/ic_add" />
</LinearLayout>
</LinearLayout>
+144
View File
@@ -145,6 +145,150 @@
<color name="lemon_theme_surfaceContainerHigh">#2D2A21</color>
<color name="lemon_theme_surfaceContainerHighest">#38352B</color>
<color name="koharu_theme_primary">#FFB3B4</color>
<color name="koharu_theme_onPrimary">#561D22</color>
<color name="koharu_theme_primaryContainer">#733337</color>
<color name="koharu_theme_onPrimaryContainer">#FFDADA</color>
<color name="koharu_theme_secondary">#E6BDBD</color>
<color name="koharu_theme_onSecondary">#44292A</color>
<color name="koharu_theme_secondaryContainer">#5D3F40</color>
<color name="koharu_theme_onSecondaryContainer">#FFDADA</color>
<color name="koharu_theme_tertiary">#E6C18D</color>
<color name="koharu_theme_onTertiary">#422C05</color>
<color name="koharu_theme_tertiaryContainer">#5B421A</color>
<color name="koharu_theme_onTertiaryContainer">#FFDDB0</color>
<color name="koharu_theme_error">#FFB4AB</color>
<color name="koharu_theme_onError">#690005</color>
<color name="koharu_theme_errorContainer">#93000A</color>
<color name="koharu_theme_onErrorContainer">#FFDAD6</color>
<color name="koharu_theme_background">#1A1111</color>
<color name="koharu_theme_onBackground">#F0DEDE</color>
<color name="koharu_theme_surface">#1A1111</color>
<color name="koharu_theme_onSurface">#F0DEDE</color>
<color name="koharu_theme_surfaceVariant">#524343</color>
<color name="koharu_theme_onSurfaceVariant">#D7C1C1</color>
<color name="koharu_theme_outline">#9F8C8C</color>
<color name="koharu_theme_outlineVariant">#524343</color>
<color name="koharu_theme_scrim">#000000</color>
<color name="koharu_theme_inverseSurface">#F0DEDE</color>
<color name="koharu_theme_inverseOnSurface">#382E2E</color>
<color name="koharu_theme_inversePrimary">#8F4A4D</color>
<color name="koharu_theme_primaryFixed">#FFDADA</color>
<color name="koharu_theme_onPrimaryFixed">#3B080E</color>
<color name="koharu_theme_primaryFixedDim">#FFB3B4</color>
<color name="koharu_theme_onPrimaryFixedVariant">#733337</color>
<color name="koharu_theme_secondaryFixed">#FFDADA</color>
<color name="koharu_theme_onSecondaryFixed">#2C1516</color>
<color name="koharu_theme_secondaryFixedDim">#E6BDBD</color>
<color name="koharu_theme_onSecondaryFixedVariant">#5D3F40</color>
<color name="koharu_theme_tertiaryFixed">#FFDDB0</color>
<color name="koharu_theme_onTertiaryFixed">#291800</color>
<color name="koharu_theme_tertiaryFixedDim">#E6C18D</color>
<color name="koharu_theme_onTertiaryFixedVariant">#5B421A</color>
<color name="koharu_theme_surfaceDim">#1A1111</color>
<color name="koharu_theme_surfaceBright">#413737</color>
<color name="koharu_theme_surfaceContainerLowest">#140C0C</color>
<color name="koharu_theme_surfaceContainerLow">#221919</color>
<color name="koharu_theme_surfaceContainer">#271D1D</color>
<color name="koharu_theme_surfaceContainerHigh">#322828</color>
<color name="koharu_theme_surfaceContainerHighest">#3D3232</color>
<color name="yuuka_theme_primary">#BFC2FF</color>
<color name="yuuka_theme_onPrimary">#272B60</color>
<color name="yuuka_theme_primaryContainer">#3E4278</color>
<color name="yuuka_theme_onPrimaryContainer">#E0E0FF</color>
<color name="yuuka_theme_secondary">#C5C4DD</color>
<color name="yuuka_theme_onSecondary">#2E2F42</color>
<color name="yuuka_theme_secondaryContainer">#444559</color>
<color name="yuuka_theme_onSecondaryContainer">#E1E0F9</color>
<color name="yuuka_theme_tertiary">#E8B9D5</color>
<color name="yuuka_theme_onTertiary">#46263B</color>
<color name="yuuka_theme_tertiaryContainer">#5E3C52</color>
<color name="yuuka_theme_onTertiaryContainer">#FFD8EE</color>
<color name="yuuka_theme_error">#FFB4AB</color>
<color name="yuuka_theme_onError">#690005</color>
<color name="yuuka_theme_errorContainer">#93000A</color>
<color name="yuuka_theme_onErrorContainer">#FFDAD6</color>
<color name="yuuka_theme_background">#131318</color>
<color name="yuuka_theme_onBackground">#E4E1E9</color>
<color name="yuuka_theme_surface">#131318</color>
<color name="yuuka_theme_onSurface">#E4E1E9</color>
<color name="yuuka_theme_surfaceVariant">#46464F</color>
<color name="yuuka_theme_onSurfaceVariant">#C7C5D0</color>
<color name="yuuka_theme_outline">#918F9A</color>
<color name="yuuka_theme_outlineVariant">#46464F</color>
<color name="yuuka_theme_scrim">#000000</color>
<color name="yuuka_theme_inverseSurface">#E4E1E9</color>
<color name="yuuka_theme_inverseOnSurface">#303036</color>
<color name="yuuka_theme_inversePrimary">#565992</color>
<color name="yuuka_theme_primaryFixed">#E0E0FF</color>
<color name="yuuka_theme_onPrimaryFixed">#11144B</color>
<color name="yuuka_theme_primaryFixedDim">#BFC2FF</color>
<color name="yuuka_theme_onPrimaryFixedVariant">#3E4278</color>
<color name="yuuka_theme_secondaryFixed">#E1E0F9</color>
<color name="yuuka_theme_onSecondaryFixed">#191A2C</color>
<color name="yuuka_theme_secondaryFixedDim">#C5C4DD</color>
<color name="yuuka_theme_onSecondaryFixedVariant">#444559</color>
<color name="yuuka_theme_tertiaryFixed">#FFD8EE</color>
<color name="yuuka_theme_onTertiaryFixed">#2E1126</color>
<color name="yuuka_theme_tertiaryFixedDim">#E8B9D5</color>
<color name="yuuka_theme_onTertiaryFixedVariant">#5E3C52</color>
<color name="yuuka_theme_surfaceDim">#131318</color>
<color name="yuuka_theme_surfaceBright">#39393F</color>
<color name="yuuka_theme_surfaceContainerLowest">#0E0E13</color>
<color name="yuuka_theme_surfaceContainerLow">#1B1B21</color>
<color name="yuuka_theme_surfaceContainer">#1F1F25</color>
<color name="yuuka_theme_surfaceContainerHigh">#2A292F</color>
<color name="yuuka_theme_surfaceContainerHighest">#34343A</color>
<color name="phoebe_theme_primary">#D9C76F</color>
<color name="phoebe_theme_onPrimary">#383000</color>
<color name="phoebe_theme_primaryContainer">#524700</color>
<color name="phoebe_theme_onPrimaryContainer">#F6E388</color>
<color name="phoebe_theme_secondary">#B1C5FF</color>
<color name="phoebe_theme_onSecondary">#162E60</color>
<color name="phoebe_theme_secondaryContainer">#2F4578</color>
<color name="phoebe_theme_onSecondaryContainer">#D9E2FF</color>
<color name="phoebe_theme_tertiary">#86D1EA</color>
<color name="phoebe_theme_onTertiary">#003642</color>
<color name="phoebe_theme_tertiaryContainer">#004E5F</color>
<color name="phoebe_theme_onTertiaryContainer">#B3EBFF</color>
<color name="phoebe_theme_error">#FFB4AB</color>
<color name="phoebe_theme_onError">#690005</color>
<color name="phoebe_theme_errorContainer">#93000A</color>
<color name="phoebe_theme_onErrorContainer">#FFDAD6</color>
<color name="phoebe_theme_background">#15130C</color>
<color name="phoebe_theme_onBackground">#E8E2D4</color>
<color name="phoebe_theme_surface">#15130C</color>
<color name="phoebe_theme_onSurface">#E8E2D4</color>
<color name="phoebe_theme_surfaceVariant">#4A4739</color>
<color name="phoebe_theme_onSurfaceVariant">#CCC6B4</color>
<color name="phoebe_theme_outline">#969180</color>
<color name="phoebe_theme_outlineVariant">#4A4739</color>
<color name="phoebe_theme_scrim">#000000</color>
<color name="phoebe_theme_inverseSurface">#E8E2D4</color>
<color name="phoebe_theme_inverseOnSurface">#333027</color>
<color name="phoebe_theme_inversePrimary">#6B5E10</color>
<color name="phoebe_theme_primaryFixed">#F6E388</color>
<color name="phoebe_theme_onPrimaryFixed">#211B00</color>
<color name="phoebe_theme_primaryFixedDim">#D9C76F</color>
<color name="phoebe_theme_onPrimaryFixedVariant">#524700</color>
<color name="phoebe_theme_secondaryFixed">#D9E2FF</color>
<color name="phoebe_theme_onSecondaryFixed">#001946</color>
<color name="phoebe_theme_secondaryFixedDim">#B1C5FF</color>
<color name="phoebe_theme_onSecondaryFixedVariant">#2F4578</color>
<color name="phoebe_theme_tertiaryFixed">#B3EBFF</color>
<color name="phoebe_theme_onTertiaryFixed">#001F27</color>
<color name="phoebe_theme_tertiaryFixedDim">#86D1EA</color>
<color name="phoebe_theme_onTertiaryFixedVariant">#004E5F</color>
<color name="phoebe_theme_surfaceDim">#15130C</color>
<color name="phoebe_theme_surfaceBright">#3C3930</color>
<color name="phoebe_theme_surfaceContainerLowest">#100E07</color>
<color name="phoebe_theme_surfaceContainerLow">#1E1C13</color>
<color name="phoebe_theme_surfaceContainer">#222017</color>
<color name="phoebe_theme_surfaceContainerHigh">#2C2A21</color>
<color name="phoebe_theme_surfaceContainerHighest">#37352B</color>
<color name="disabled">@color/md_dark_disabled</color>
<color name="background_prefs">#10303030</color>
+3
View File
@@ -30,6 +30,9 @@
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
</string-array>
<string-array name="screen_direction_value">
+3
View File
@@ -58,6 +58,9 @@
<item>草野</item>
<item>柠檬</item>
<item>黑白</item>
<item>Koharu</item>
<item>Yuuka</item>
<item>Phoebe</item>
</string-array>
+147
View File
@@ -148,6 +148,153 @@
<color name="lemon_theme_surfaceContainerHigh">#EEE8DA</color>
<color name="lemon_theme_surfaceContainerHighest">#E8E2D4</color>
<!-- 禁止色色 -->
<color name="koharu_theme_primary">#8F4A4D</color>
<color name="koharu_theme_onPrimary">#FFFFFF</color>
<color name="koharu_theme_primaryContainer">#FFDADA</color>
<color name="koharu_theme_onPrimaryContainer">#733337</color>
<color name="koharu_theme_secondary">#765657</color>
<color name="koharu_theme_onSecondary">#FFFFFF</color>
<color name="koharu_theme_secondaryContainer">#FFDADA</color>
<color name="koharu_theme_onSecondaryContainer">#5D3F40</color>
<color name="koharu_theme_tertiary">#755A2F</color>
<color name="koharu_theme_onTertiary">#FFFFFF</color>
<color name="koharu_theme_tertiaryContainer">#FFDDB0</color>
<color name="koharu_theme_onTertiaryContainer">#5B421A</color>
<color name="koharu_theme_error">#BA1A1A</color>
<color name="koharu_theme_onError">#FFFFFF</color>
<color name="koharu_theme_errorContainer">#FFDAD6</color>
<color name="koharu_theme_onErrorContainer">#93000A</color>
<color name="koharu_theme_background">#FFF8F7</color>
<color name="koharu_theme_onBackground">#221919</color>
<color name="koharu_theme_surface">#FFF8F7</color>
<color name="koharu_theme_onSurface">#221919</color>
<color name="koharu_theme_surfaceVariant">#F4DDDD</color>
<color name="koharu_theme_onSurfaceVariant">#524343</color>
<color name="koharu_theme_outline">#857373</color>
<color name="koharu_theme_outlineVariant">#D7C1C1</color>
<color name="koharu_theme_scrim">#000000</color>
<color name="koharu_theme_inverseSurface">#382E2E</color>
<color name="koharu_theme_inverseOnSurface">#FFEDEC</color>
<color name="koharu_theme_inversePrimary">#FFB3B4</color>
<color name="koharu_theme_primaryFixed">#FFDADA</color>
<color name="koharu_theme_onPrimaryFixed">#3B080E</color>
<color name="koharu_theme_primaryFixedDim">#FFB3B4</color>
<color name="koharu_theme_onPrimaryFixedVariant">#733337</color>
<color name="koharu_theme_secondaryFixed">#FFDADA</color>
<color name="koharu_theme_onSecondaryFixed">#2C1516</color>
<color name="koharu_theme_secondaryFixedDim">#E6BDBD</color>
<color name="koharu_theme_onSecondaryFixedVariant">#5D3F40</color>
<color name="koharu_theme_tertiaryFixed">#FFDDB0</color>
<color name="koharu_theme_onTertiaryFixed">#291800</color>
<color name="koharu_theme_tertiaryFixedDim">#E6C18D</color>
<color name="koharu_theme_onTertiaryFixedVariant">#5B421A</color>
<color name="koharu_theme_surfaceDim">#E8D6D6</color>
<color name="koharu_theme_surfaceBright">#FFF8F7</color>
<color name="koharu_theme_surfaceContainerLowest">#FFFFFF</color>
<color name="koharu_theme_surfaceContainerLow">#FFF0F0</color>
<color name="koharu_theme_surfaceContainer">#FCEAE9</color>
<color name="koharu_theme_surfaceContainerHigh">#F6E4E4</color>
<color name="koharu_theme_surfaceContainerHighest">#F0DEDE</color>
<color name="yuuka_theme_primary">#565992</color>
<color name="yuuka_theme_onPrimary">#FFFFFF</color>
<color name="yuuka_theme_primaryContainer">#E0E0FF</color>
<color name="yuuka_theme_onPrimaryContainer">#3E4278</color>
<color name="yuuka_theme_secondary">#5C5D72</color>
<color name="yuuka_theme_onSecondary">#FFFFFF</color>
<color name="yuuka_theme_secondaryContainer">#E1E0F9</color>
<color name="yuuka_theme_onSecondaryContainer">#444559</color>
<color name="yuuka_theme_tertiary">#78536B</color>
<color name="yuuka_theme_onTertiary">#FFFFFF</color>
<color name="yuuka_theme_tertiaryContainer">#FFD8EE</color>
<color name="yuuka_theme_onTertiaryContainer">#5E3C52</color>
<color name="yuuka_theme_error">#BA1A1A</color>
<color name="yuuka_theme_onError">#FFFFFF</color>
<color name="yuuka_theme_errorContainer">#FFDAD6</color>
<color name="yuuka_theme_onErrorContainer">#93000A</color>
<color name="yuuka_theme_background">#FBF8FF</color>
<color name="yuuka_theme_onBackground">#1B1B21</color>
<color name="yuuka_theme_surface">#FBF8FF</color>
<color name="yuuka_theme_onSurface">#1B1B21</color>
<color name="yuuka_theme_surfaceVariant">#E4E1EC</color>
<color name="yuuka_theme_onSurfaceVariant">#46464F</color>
<color name="yuuka_theme_outline">#777680</color>
<color name="yuuka_theme_outlineVariant">#C7C5D0</color>
<color name="yuuka_theme_scrim">#000000</color>
<color name="yuuka_theme_inverseSurface">#303036</color>
<color name="yuuka_theme_inverseOnSurface">#F2EFF7</color>
<color name="yuuka_theme_inversePrimary">#BFC2FF</color>
<color name="yuuka_theme_primaryFixed">#E0E0FF</color>
<color name="yuuka_theme_onPrimaryFixed">#11144B</color>
<color name="yuuka_theme_primaryFixedDim">#BFC2FF</color>
<color name="yuuka_theme_onPrimaryFixedVariant">#3E4278</color>
<color name="yuuka_theme_secondaryFixed">#E1E0F9</color>
<color name="yuuka_theme_onSecondaryFixed">#191A2C</color>
<color name="yuuka_theme_secondaryFixedDim">#C5C4DD</color>
<color name="yuuka_theme_onSecondaryFixedVariant">#444559</color>
<color name="yuuka_theme_tertiaryFixed">#FFD8EE</color>
<color name="yuuka_theme_onTertiaryFixed">#2E1126</color>
<color name="yuuka_theme_tertiaryFixedDim">#E8B9D5</color>
<color name="yuuka_theme_onTertiaryFixedVariant">#5E3C52</color>
<color name="yuuka_theme_surfaceDim">#DBD9E0</color>
<color name="yuuka_theme_surfaceBright">#FBF8FF</color>
<color name="yuuka_theme_surfaceContainerLowest">#FFFFFF</color>
<color name="yuuka_theme_surfaceContainerLow">#F5F2FA</color>
<color name="yuuka_theme_surfaceContainer">#F0ECF4</color>
<color name="yuuka_theme_surfaceContainerHigh">#EAE7EF</color>
<color name="yuuka_theme_surfaceContainerHighest">#E4E1E9</color>
<color name="phoebe_theme_primary">#6B5E10</color>
<color name="phoebe_theme_onPrimary">#FFFFFF</color>
<color name="phoebe_theme_primaryContainer">#F6E388</color>
<color name="phoebe_theme_onPrimaryContainer">#524700</color>
<color name="phoebe_theme_secondary">#475D92</color>
<color name="phoebe_theme_onSecondary">#FFFFFF</color>
<color name="phoebe_theme_secondaryContainer">#D9E2FF</color>
<color name="phoebe_theme_onSecondaryContainer">#2F4578</color>
<color name="phoebe_theme_tertiary">#01677D</color>
<color name="phoebe_theme_onTertiary">#FFFFFF</color>
<color name="phoebe_theme_tertiaryContainer">#B3EBFF</color>
<color name="phoebe_theme_onTertiaryContainer">#004E5F</color>
<color name="phoebe_theme_error">#BA1A1A</color>
<color name="phoebe_theme_onError">#FFFFFF</color>
<color name="phoebe_theme_errorContainer">#FFDAD6</color>
<color name="phoebe_theme_onErrorContainer">#93000A</color>
<color name="phoebe_theme_background">#FFF9EC</color>
<color name="phoebe_theme_onBackground">#1E1C13</color>
<color name="phoebe_theme_surface">#FFF9EC</color>
<color name="phoebe_theme_onSurface">#1E1C13</color>
<color name="phoebe_theme_surfaceVariant">#E9E2D0</color>
<color name="phoebe_theme_onSurfaceVariant">#4A4739</color>
<color name="phoebe_theme_outline">#7C7768</color>
<color name="phoebe_theme_outlineVariant">#CCC6B4</color>
<color name="phoebe_theme_scrim">#000000</color>
<color name="phoebe_theme_inverseSurface">#333027</color>
<color name="phoebe_theme_inverseOnSurface">#F6F0E2</color>
<color name="phoebe_theme_inversePrimary">#D9C76F</color>
<color name="phoebe_theme_primaryFixed">#F6E388</color>
<color name="phoebe_theme_onPrimaryFixed">#211B00</color>
<color name="phoebe_theme_primaryFixedDim">#D9C76F</color>
<color name="phoebe_theme_onPrimaryFixedVariant">#524700</color>
<color name="phoebe_theme_secondaryFixed">#D9E2FF</color>
<color name="phoebe_theme_onSecondaryFixed">#001946</color>
<color name="phoebe_theme_secondaryFixedDim">#B1C5FF</color>
<color name="phoebe_theme_onSecondaryFixedVariant">#2F4578</color>
<color name="phoebe_theme_tertiaryFixed">#B3EBFF</color>
<color name="phoebe_theme_onTertiaryFixed">#001F27</color>
<color name="phoebe_theme_tertiaryFixedDim">#86D1EA</color>
<color name="phoebe_theme_onTertiaryFixedVariant">#004E5F</color>
<color name="phoebe_theme_surfaceDim">#DFDACC</color>
<color name="phoebe_theme_surfaceBright">#FFF9EC</color>
<color name="phoebe_theme_surfaceContainerLowest">#FFFFFF</color>
<color name="phoebe_theme_surfaceContainerLow">#F9F3E5</color>
<color name="phoebe_theme_surfaceContainer">#F4EDDF</color>
<color name="phoebe_theme_surfaceContainerHigh">#EEE8DA</color>
<color name="phoebe_theme_surfaceContainerHighest">#E8E2D4</color>
<color name="disabled">@color/md_light_disabled</color>
<color name="divider">#66666666</color>
+150
View File
@@ -185,4 +185,154 @@
<item name="colorSurfaceContainerHighest">@color/lemon_theme_surfaceContainerHighest</item>
</style>
<style name="Theme.Base.Koharu" parent="Base.AppTheme">
<item name="colorPrimary">@color/koharu_theme_primary</item>
<item name="colorOnPrimary">@color/koharu_theme_onPrimary</item>
<item name="colorPrimaryContainer">@color/koharu_theme_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/koharu_theme_onPrimaryContainer</item>
<item name="colorSecondary">@color/koharu_theme_secondary</item>
<item name="colorOnSecondary">@color/koharu_theme_onSecondary</item>
<item name="colorSecondaryContainer">@color/koharu_theme_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/koharu_theme_onSecondaryContainer</item>
<item name="colorTertiary">@color/koharu_theme_tertiary</item>
<item name="colorOnTertiary">@color/koharu_theme_onTertiary</item>
<item name="colorTertiaryContainer">@color/koharu_theme_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/koharu_theme_onTertiaryContainer</item>
<item name="colorError">@color/koharu_theme_error</item>
<item name="colorOnError">@color/koharu_theme_onError</item>
<item name="colorErrorContainer">@color/koharu_theme_errorContainer</item>
<item name="colorOnErrorContainer">@color/koharu_theme_onErrorContainer</item>
<item name="android:colorBackground">@color/koharu_theme_background</item>
<item name="android:textColor">@color/koharu_theme_onSurface</item>
<item name="colorOnBackground">@color/koharu_theme_onBackground</item>
<item name="colorSurface">@color/koharu_theme_surface</item>
<item name="colorOnSurface">@color/koharu_theme_onSurface</item>
<item name="colorSurfaceVariant">@color/koharu_theme_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/koharu_theme_onSurfaceVariant</item>
<item name="colorOutline">@color/koharu_theme_outline</item>
<item name="colorOutlineVariant">@color/koharu_theme_outlineVariant</item>
<item name="colorSurfaceInverse">@color/koharu_theme_inverseSurface</item>
<item name="colorOnSurfaceInverse">@color/koharu_theme_inverseOnSurface</item>
<item name="colorPrimaryInverse">@color/koharu_theme_inversePrimary</item>
<item name="colorPrimaryFixed">@color/koharu_theme_primaryFixed</item>
<item name="colorOnPrimaryFixed">@color/koharu_theme_onPrimaryFixed</item>
<item name="colorPrimaryFixedDim">@color/koharu_theme_primaryFixedDim</item>
<item name="colorOnPrimaryFixedVariant">@color/koharu_theme_onPrimaryFixedVariant</item>
<item name="colorSecondaryFixed">@color/koharu_theme_secondaryFixed</item>
<item name="colorOnSecondaryFixed">@color/koharu_theme_onSecondaryFixed</item>
<item name="colorSecondaryFixedDim">@color/koharu_theme_secondaryFixedDim</item>
<item name="colorOnSecondaryFixedVariant">@color/koharu_theme_onSecondaryFixedVariant</item>
<item name="colorTertiaryFixed">@color/koharu_theme_tertiaryFixed</item>
<item name="colorOnTertiaryFixed">@color/koharu_theme_onTertiaryFixed</item>
<item name="colorTertiaryFixedDim">@color/koharu_theme_tertiaryFixedDim</item>
<item name="colorOnTertiaryFixedVariant">@color/koharu_theme_onTertiaryFixedVariant</item>
<item name="colorSurfaceDim">@color/koharu_theme_surfaceDim</item>
<item name="colorSurfaceBright">@color/koharu_theme_surfaceBright</item>
<item name="colorSurfaceContainerLowest">@color/koharu_theme_surfaceContainerLowest</item>
<item name="colorSurfaceContainerLow">@color/koharu_theme_surfaceContainerLow</item>
<item name="colorSurfaceContainer">@color/koharu_theme_surfaceContainer</item>
<item name="colorSurfaceContainerHigh">@color/koharu_theme_surfaceContainerHigh</item>
<item name="colorSurfaceContainerHighest">@color/koharu_theme_surfaceContainerHighest</item>
</style>
<style name="Theme.Base.Yuuka" parent="Base.AppTheme">
<item name="colorPrimary">@color/yuuka_theme_primary</item>
<item name="colorOnPrimary">@color/yuuka_theme_onPrimary</item>
<item name="colorPrimaryContainer">@color/yuuka_theme_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/yuuka_theme_onPrimaryContainer</item>
<item name="colorSecondary">@color/yuuka_theme_secondary</item>
<item name="colorOnSecondary">@color/yuuka_theme_onSecondary</item>
<item name="colorSecondaryContainer">@color/yuuka_theme_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/yuuka_theme_onSecondaryContainer</item>
<item name="colorTertiary">@color/yuuka_theme_tertiary</item>
<item name="colorOnTertiary">@color/yuuka_theme_onTertiary</item>
<item name="colorTertiaryContainer">@color/yuuka_theme_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/yuuka_theme_onTertiaryContainer</item>
<item name="colorError">@color/yuuka_theme_error</item>
<item name="colorOnError">@color/yuuka_theme_onError</item>
<item name="colorErrorContainer">@color/yuuka_theme_errorContainer</item>
<item name="colorOnErrorContainer">@color/yuuka_theme_onErrorContainer</item>
<item name="android:colorBackground">@color/yuuka_theme_background</item>
<item name="android:textColor">@color/yuuka_theme_onSurface</item>
<item name="colorOnBackground">@color/yuuka_theme_onBackground</item>
<item name="colorSurface">@color/yuuka_theme_surface</item>
<item name="colorOnSurface">@color/yuuka_theme_onSurface</item>
<item name="colorSurfaceVariant">@color/yuuka_theme_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/yuuka_theme_onSurfaceVariant</item>
<item name="colorOutline">@color/yuuka_theme_outline</item>
<item name="colorOutlineVariant">@color/yuuka_theme_outlineVariant</item>
<item name="colorSurfaceInverse">@color/yuuka_theme_inverseSurface</item>
<item name="colorOnSurfaceInverse">@color/yuuka_theme_inverseOnSurface</item>
<item name="colorPrimaryInverse">@color/yuuka_theme_inversePrimary</item>
<item name="colorPrimaryFixed">@color/yuuka_theme_primaryFixed</item>
<item name="colorOnPrimaryFixed">@color/yuuka_theme_onPrimaryFixed</item>
<item name="colorPrimaryFixedDim">@color/yuuka_theme_primaryFixedDim</item>
<item name="colorOnPrimaryFixedVariant">@color/yuuka_theme_onPrimaryFixedVariant</item>
<item name="colorSecondaryFixed">@color/yuuka_theme_secondaryFixed</item>
<item name="colorOnSecondaryFixed">@color/yuuka_theme_onSecondaryFixed</item>
<item name="colorSecondaryFixedDim">@color/yuuka_theme_secondaryFixedDim</item>
<item name="colorOnSecondaryFixedVariant">@color/yuuka_theme_onSecondaryFixedVariant</item>
<item name="colorTertiaryFixed">@color/yuuka_theme_tertiaryFixed</item>
<item name="colorOnTertiaryFixed">@color/yuuka_theme_onTertiaryFixed</item>
<item name="colorTertiaryFixedDim">@color/yuuka_theme_tertiaryFixedDim</item>
<item name="colorOnTertiaryFixedVariant">@color/yuuka_theme_onTertiaryFixedVariant</item>
<item name="colorSurfaceDim">@color/yuuka_theme_surfaceDim</item>
<item name="colorSurfaceBright">@color/yuuka_theme_surfaceBright</item>
<item name="colorSurfaceContainerLowest">@color/yuuka_theme_surfaceContainerLowest</item>
<item name="colorSurfaceContainerLow">@color/yuuka_theme_surfaceContainerLow</item>
<item name="colorSurfaceContainer">@color/yuuka_theme_surfaceContainer</item>
<item name="colorSurfaceContainerHigh">@color/yuuka_theme_surfaceContainerHigh</item>
<item name="colorSurfaceContainerHighest">@color/yuuka_theme_surfaceContainerHighest</item>
</style>
<style name="Theme.Base.Phoebe" parent="Base.AppTheme">
<item name="colorPrimary">@color/phoebe_theme_primary</item>
<item name="colorOnPrimary">@color/phoebe_theme_onPrimary</item>
<item name="colorPrimaryContainer">@color/phoebe_theme_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/phoebe_theme_onPrimaryContainer</item>
<item name="colorSecondary">@color/phoebe_theme_secondary</item>
<item name="colorOnSecondary">@color/phoebe_theme_onSecondary</item>
<item name="colorSecondaryContainer">@color/phoebe_theme_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/phoebe_theme_onSecondaryContainer</item>
<item name="colorTertiary">@color/phoebe_theme_tertiary</item>
<item name="colorOnTertiary">@color/phoebe_theme_onTertiary</item>
<item name="colorTertiaryContainer">@color/phoebe_theme_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/phoebe_theme_onTertiaryContainer</item>
<item name="colorError">@color/phoebe_theme_error</item>
<item name="colorOnError">@color/phoebe_theme_onError</item>
<item name="colorErrorContainer">@color/phoebe_theme_errorContainer</item>
<item name="colorOnErrorContainer">@color/phoebe_theme_onErrorContainer</item>
<item name="android:colorBackground">@color/phoebe_theme_background</item>
<item name="android:textColor">@color/phoebe_theme_onSurface</item>
<item name="colorOnBackground">@color/phoebe_theme_onBackground</item>
<item name="colorSurface">@color/phoebe_theme_surface</item>
<item name="colorOnSurface">@color/phoebe_theme_onSurface</item>
<item name="colorSurfaceVariant">@color/phoebe_theme_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/phoebe_theme_onSurfaceVariant</item>
<item name="colorOutline">@color/phoebe_theme_outline</item>
<item name="colorOutlineVariant">@color/phoebe_theme_outlineVariant</item>
<item name="colorSurfaceInverse">@color/phoebe_theme_inverseSurface</item>
<item name="colorOnSurfaceInverse">@color/phoebe_theme_inverseOnSurface</item>
<item name="colorPrimaryInverse">@color/phoebe_theme_inversePrimary</item>
<item name="colorPrimaryFixed">@color/phoebe_theme_primaryFixed</item>
<item name="colorOnPrimaryFixed">@color/phoebe_theme_onPrimaryFixed</item>
<item name="colorPrimaryFixedDim">@color/phoebe_theme_primaryFixedDim</item>
<item name="colorOnPrimaryFixedVariant">@color/phoebe_theme_onPrimaryFixedVariant</item>
<item name="colorSecondaryFixed">@color/phoebe_theme_secondaryFixed</item>
<item name="colorOnSecondaryFixed">@color/phoebe_theme_onSecondaryFixed</item>
<item name="colorSecondaryFixedDim">@color/phoebe_theme_secondaryFixedDim</item>
<item name="colorOnSecondaryFixedVariant">@color/phoebe_theme_onSecondaryFixedVariant</item>
<item name="colorTertiaryFixed">@color/phoebe_theme_tertiaryFixed</item>
<item name="colorOnTertiaryFixed">@color/phoebe_theme_onTertiaryFixed</item>
<item name="colorTertiaryFixedDim">@color/phoebe_theme_tertiaryFixedDim</item>
<item name="colorOnTertiaryFixedVariant">@color/phoebe_theme_onTertiaryFixedVariant</item>
<item name="colorSurfaceDim">@color/phoebe_theme_surfaceDim</item>
<item name="colorSurfaceBright">@color/phoebe_theme_surfaceBright</item>
<item name="colorSurfaceContainerLowest">@color/phoebe_theme_surfaceContainerLowest</item>
<item name="colorSurfaceContainerLow">@color/phoebe_theme_surfaceContainerLow</item>
<item name="colorSurfaceContainer">@color/phoebe_theme_surfaceContainer</item>
<item name="colorSurfaceContainerHigh">@color/phoebe_theme_surfaceContainerHigh</item>
<item name="colorSurfaceContainerHighest">@color/phoebe_theme_surfaceContainerHighest</item>
</style>
</resources>