更新界面与图标

This commit is contained in:
HapeLee
2025-08-23 13:15:34 +08:00
parent bf514ffd26
commit 4004b2e386
57 changed files with 488 additions and 351 deletions
+12
View File
@@ -32,6 +32,18 @@
android:supportsRtl="true"
android:theme="@style/Base.AppTheme"
tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
<!-- 图标0 -->
<activity-alias
android:name=".Launcher0"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/launcher0"
android:targetActivity=".ui.main.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<!-- 图标1 -->
<activity-alias
android:name=".Launcher1"
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

@@ -2,9 +2,7 @@ package io.legato.kazusa.help
import android.content.ComponentName
import android.content.pm.PackageManager
import android.os.Build
import io.legato.kazusa.R
import io.legato.kazusa.ui.welcome.*
import io.legato.kazusa.utils.toastOnUi
import splitties.init.appCtx
@@ -15,6 +13,7 @@ import splitties.init.appCtx
object LauncherIconHelp {
private val packageManager: PackageManager = appCtx.packageManager
private val componentNames = arrayListOf(
ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher0"),
ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher1"),
ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher2"),
ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher3"),
@@ -31,10 +30,6 @@ object LauncherIconHelp {
fun changeIcon(icon: String?) {
if (icon.isNullOrEmpty()) return
if (Build.VERSION.SDK_INT < 26) {
appCtx.toastOnUi(R.string.change_icon_error)
return
}
try {
// 首先禁用主Activity的启动器intent
@@ -18,6 +18,7 @@ import io.legato.kazusa.lib.dialogs.alert
import io.legato.kazusa.utils.getCompatColor
import io.legato.kazusa.utils.gone
import io.legato.kazusa.utils.invisible
import io.legato.kazusa.utils.themeColor
import io.legato.kazusa.utils.visible
import splitties.init.appCtx
import splitties.views.onLongClick
@@ -62,8 +63,10 @@ class ChangeBookSourceAdapter(
tvRespondTime.text = context.getString(R.string.respondTime, item.respondTime)
if (callBack.oldBookUrl == item.bookUrl) {
ivChecked.visible()
root.setBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainerHighest))
} else {
ivChecked.invisible()
root.setBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainerLow))
}
} else {
for (i in payloads.indices) {
@@ -74,8 +77,10 @@ class ChangeBookSourceAdapter(
"latest" -> tvLast.text = item.getDisplayLastChapterTitle()
"upCurSource" -> if (callBack.oldBookUrl == item.bookUrl) {
ivChecked.visible()
root.setBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainer))
} else {
ivChecked.invisible()
root.setBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainerLow))
}
}
}
@@ -2,6 +2,7 @@ package io.legato.kazusa.ui.book.changesource
//import io.legado.app.lib.theme.getPrimaryTextColor
//import io.legado.app.lib.theme.primaryColor
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
@@ -41,6 +42,7 @@ import io.legato.kazusa.utils.observeEvent
import io.legato.kazusa.utils.startActivity
import io.legato.kazusa.utils.transaction
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
import io.legato.kazusa.utils.visible
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.conflate
@@ -205,9 +207,11 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
}
}
@SuppressLint("SetTextI18n")
private fun initLiveData() {
viewModel.searchStateData.observe(viewLifecycleOwner) {
binding.refreshProgressBar.isVisible = it
if (it) {
startStopMenuItem?.let { item ->
item.setIcon(R.drawable.ic_stop_black_24dp)
@@ -226,7 +230,7 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
viewModel.searchDataFlow.conflate().collect {
adapter.setItems(it)
binding.loadingIndicator.isVisible = it.isEmpty()
binding.tvEmptyMsg.isVisible = it.isEmpty()
binding.recyclerView.isVisible = it.isNotEmpty()
delay(1000)
@@ -239,15 +243,16 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
viewModel.changeSourceProgress
.drop(1)
.collect { (count, name) ->
binding.tvDur.text =
getString(
R.string.change_source_progress,
adapter.itemCount,
count,
viewModel.totalSourceCount,
name
)
delay(500)
val total = viewModel.totalSourceCount
val progress = if (total > 0) (count * 100 / total) else 0
binding.refreshProgressBar.isIndeterminate = false
binding.refreshProgressBar.progress = progress
binding.llInfo.visible()
binding.tvProgress.text = "$count / $total"
binding.tvResult.text =
getString(R.string.change_source_progress, adapter.itemCount)
}
}
}
@@ -549,6 +549,8 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
override fun showFooterConfig() {
showDialogFragment(MangaFooterSettingDialog().apply {
initialScrollMode = viewModel.getEffectiveScrollMode()
initialWebtoonSidePadding = viewModel.getEffectiveWebtoonSidePadding()
callback = this@ReadMangaActivity
})
}
@@ -565,8 +567,6 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
override fun showScrollModeDialog() {
showDialogFragment(MangaScrollModeDialog().apply {
initialScrollMode = viewModel.getEffectiveScrollMode()
initialWebtoonSidePadding = viewModel.getEffectiveWebtoonSidePadding()
initialAutoPageEnabled = enableScroll
callback = this@ReadMangaActivity
})
@@ -574,7 +574,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
//漫画模式
override fun onScrollModeChanged(mode: Int) {
//AppConfig.mangaScrollMode = mode
onAutoPageToggle(false)
viewModel.updateReadConfig {
mangaScrollMode = mode
}
@@ -28,7 +28,6 @@ class MangaColorFilterDialog : BaseBottomSheetDialogFragment(R.layout.dialog_man
override fun onStart() {
super.onStart()
dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
// setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
@@ -4,6 +4,7 @@ import android.content.DialogInterface
import android.os.Bundle
import android.view.Gravity
import android.view.View
import com.google.android.material.chip.Chip
import io.legato.kazusa.R
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
import io.legato.kazusa.constant.EventBus
@@ -21,6 +22,9 @@ class MangaFooterSettingDialog :
val config = GSON.fromJsonObject<MangaFooterConfig>(AppConfig.mangaFooterConfig).getOrNull()
?: MangaFooterConfig()
var initialWebtoonSidePadding: Int = 0
var initialScrollMode: Int = MangaScrollMode.PAGE_RIGHT_TO_LEFT
var callback: Callback? = null
private val binding by viewBinding(DialogMangaFooterSettingBinding::bind)
@@ -32,6 +36,56 @@ class MangaFooterSettingDialog :
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.chipGroupScrollMode.removeAllViews()
MangaScrollMode.ALL.forEach { mode ->
binding.chipGroupScrollMode.addView(Chip(requireContext()).apply {
text = MangaScrollMode.labelOf(mode)
isCheckable = true
isChecked = (mode == initialScrollMode)
setOnClickListener {
callback?.onScrollModeChanged(mode)
}
})
}
binding.scvPadding.apply {
valueFormat = { "$it %" }
progress = initialWebtoonSidePadding
onChanged = { newValue ->
callback?.upSidePadding(newValue)
}
}
binding.checkboxDisableClickScroll.apply {
isChecked = AppConfig.disableClickScroll
setOnCheckedChangeListener { _, isChecked ->
callback?.onClickScrollDisabledChanged(isChecked)
}
}
binding.checkboxDisableMangaScale.apply {
isChecked = AppConfig.disableMangaScale
setOnCheckedChangeListener { _, isChecked ->
callback?.onMangaScaleDisabledChanged(isChecked)
}
}
binding.checkboxHideMangaTitle.apply {
isChecked = AppConfig.hideMangaTitle
setOnCheckedChangeListener { _, isChecked ->
callback?.onHideMangaTitleChanged(isChecked)
}
}
binding.checkboxVolumeKeyPage.apply {
isChecked = AppConfig.MangaVolumeKeyPage
setOnCheckedChangeListener { _, isChecked ->
callback?.onVolumeKeyPageChanged(isChecked)
}
}
binding.cbChapterLabel.run {
isChecked = !config.hideChapterLabel
setOnCheckedChangeListener { _, isChecked ->
@@ -187,6 +241,12 @@ class MangaFooterSettingDialog :
fun onAutoPageSpeedChanged(speed: Int)
fun showColorFilterConfig()
fun showClickConfig()
fun onScrollModeChanged(mode: Int)
fun upSidePadding(padding: Int)
fun onClickScrollDisabledChanged(disabled: Boolean)
fun onMangaScaleDisabledChanged(disabled: Boolean)
fun onHideMangaTitleChanged(hide: Boolean)
fun onVolumeKeyPageChanged(enable: Boolean)
}
}
@@ -2,7 +2,6 @@ package io.legato.kazusa.ui.book.manga.config
import android.os.Bundle
import android.view.View
import com.google.android.material.chip.Chip
import io.legato.kazusa.R
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
import io.legato.kazusa.databinding.DialogMangaScrollModeBinding
@@ -14,8 +13,6 @@ class MangaScrollModeDialog : BaseBottomSheetDialogFragment(R.layout.dialog_mang
private val binding by viewBinding(DialogMangaScrollModeBinding::bind)
var initialAutoPageEnabled: Boolean = false
var initialWebtoonSidePadding: Int = 0
var initialScrollMode: Int = MangaScrollMode.PAGE_RIGHT_TO_LEFT
var callback: Callback? = null
@@ -24,20 +21,6 @@ class MangaScrollModeDialog : BaseBottomSheetDialogFragment(R.layout.dialog_mang
}
private fun initView() {
binding.chipGroupScrollMode.removeAllViews()
MangaScrollMode.ALL.forEach { mode ->
binding.chipGroupScrollMode.addView(Chip(requireContext()).apply {
text = MangaScrollMode.labelOf(mode)
isCheckable = true
isChecked = (mode == initialScrollMode)
setOnClickListener {
callback?.onScrollModeChanged(mode)
binding.chipAutoPage.isChecked = false
}
})
}
binding.chipAutoPage.run {
isChecked = initialAutoPageEnabled
@@ -47,42 +30,6 @@ class MangaScrollModeDialog : BaseBottomSheetDialogFragment(R.layout.dialog_mang
}
}
binding.checkboxDisableClickScroll.apply {
isChecked = AppConfig.disableClickScroll
setOnCheckedChangeListener { _, isChecked ->
callback?.onClickScrollDisabledChanged(isChecked)
}
}
binding.checkboxDisableMangaScale.apply {
isChecked = AppConfig.disableMangaScale
setOnCheckedChangeListener { _, isChecked ->
callback?.onMangaScaleDisabledChanged(isChecked)
}
}
binding.checkboxHideMangaTitle.apply {
isChecked = AppConfig.hideMangaTitle
setOnCheckedChangeListener { _, isChecked ->
callback?.onHideMangaTitleChanged(isChecked)
}
}
binding.checkboxVolumeKeyPage.apply {
isChecked = AppConfig.MangaVolumeKeyPage
setOnCheckedChangeListener { _, isChecked ->
callback?.onVolumeKeyPageChanged(isChecked)
}
}
binding.scvPadding.apply {
valueFormat = { "$it %" }
progress = initialWebtoonSidePadding
onChanged = { newValue ->
callback?.upSidePadding(newValue)
}
}
initAutoPageSpeed(initialAutoPageEnabled)
}
@@ -101,12 +48,6 @@ class MangaScrollModeDialog : BaseBottomSheetDialogFragment(R.layout.dialog_mang
interface Callback {
fun onAutoPageToggle(enable: Boolean)
fun onAutoPageSpeedChanged(speed: Int)
fun onScrollModeChanged(mode: Int)
fun onClickScrollDisabledChanged(disabled: Boolean)
fun onMangaScaleDisabledChanged(disabled: Boolean)
fun upSidePadding(padding: Int)
fun onHideMangaTitleChanged(hide: Boolean)
fun onVolumeKeyPageChanged(enable: Boolean)
}
}
-4
View File
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:interpolator/decelerate_cubic">
<translate
android:duration="240"
android:toYDelta="0%"
android:fromYDelta="8%" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="2dp" />
<solid android:color="?attr/colorOnSurfaceVariant" />
</shape>
@@ -0,0 +1,38 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="370"
android:viewportHeight="370">
<group
android:scaleX="0.5011111"
android:scaleY="0.5011111"
android:translateX="92.29444"
android:translateY="92.29444">
<path
android:fillColor="#EAEAEA"
android:pathData="M185,185m-155,0a155,155 0,1 1,310 0a155,155 0,1 1,-310 0" />
<path
android:fillColor="#656688"
android:pathData="M282.03,102.39C255.76,125.1 231.53,164.6 228.16,170.19C227.9,170.63 227.82,171.11 227.95,171.6C233,190.65 270.65,236.1 288.9,256.43C289.48,257.08 290.39,257.25 291.18,256.9L310.69,248.17C311.4,247.85 311.86,247.13 311.87,246.35C312.84,165.86 297.04,120.01 290.34,104.26C288.9,100.89 284.8,99.99 282.03,102.39Z" />
<path
android:fillColor="#656688"
android:pathData="M76.9,225.49C70.96,199.23 62.48,141.34 71.93,110.92C72.84,107.99 75.98,106.56 78.89,107.54C92.9,112.25 133.46,126.86 172.04,150.18C172.04,150.18 202.32,146.09 234.97,157.66C235.65,157.9 236.39,157.79 236.98,157.37C244.43,152.05 296.56,121.77 328.3,290.06C328.41,290.62 328.33,291.15 327.98,291.59C319.96,301.61 215.17,426.64 64.88,314.76C64.35,314.36 64.02,313.69 64.06,313.02C67.07,261.9 76.9,225.49 76.9,225.49Z" />
<path
android:fillColor="#554C64"
android:pathData="M281.66,102.07C254.7,125.39 231.56,164.87 228.37,170.41C228.13,170.84 228.05,171.32 228.18,171.79C232.93,190.12 265.7,230.56 284.23,251.64C285.37,252.94 287.49,252.24 287.67,250.51C293.77,189.2 291.81,129.68 290.62,106.11C290.39,101.44 285.19,99.02 281.66,102.07Z" />
<path
android:fillColor="#554C64"
android:pathData="M70.02,114.52C63.38,146.6 71.36,200.97 76.9,225.49C89.13,190.98 113.72,172.15 126.41,164.37L126.41,164.37C129.34,162.58 130.8,161.68 131.31,160.71C131.79,159.79 131.9,158.94 131.66,157.93C131.41,156.86 130.31,155.72 128.1,153.43C107.55,132.13 92.03,118.26 82.89,110.55C80.21,108.29 78.86,107.16 76.95,107.01C75.5,106.89 73.46,107.6 72.39,108.58C70.98,109.89 70.66,111.43 70.02,114.52Z" />
<path
android:fillColor="#EAEAEA"
android:pathData="M115,277.33V237.67C115,224.78 135,224.78 135,237.67V277.33C135,290.22 115,290.22 115,277.33Z" />
<path
android:fillColor="#EAEAEA"
android:pathData="M176,277.33V237.67C176,224.78 196,224.78 196,237.67V277.33C196,290.22 176,290.22 176,277.33Z" />
<path
android:fillColor="#00000000"
android:pathData="M185,185m-170,0a170,170 0,1 1,340 0a170,170 0,1 1,-340 0"
android:strokeWidth="30"
android:strokeColor="#D2487D" />
</group>
</vector>
+25 -26
View File
@@ -45,20 +45,15 @@
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.card.MaterialCardView
<ImageView
android:id="@+id/cd_about"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_width="160dp"
android:layout_height="120dp"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
android:src="@drawable/ic_launcher_foreground"
app:layout_constraintTop_toTopOf="parent"
app:strokeWidth="0dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
</com.google.android.material.card.MaterialCardView>
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/tv_name"
@@ -69,18 +64,19 @@
android:layout_marginEnd="16dp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/cd_about"
app:layout_constraintTop_toTopOf="@id/cd_about" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cd_about" />
<com.google.android.material.card.MaterialCardView
android:id="@+id/cd_ver"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginTop="8dp"
app:cardBackgroundColor="?attr/colorTertiaryContainer"
app:layout_constraintBottom_toBottomOf="@id/tv_name"
app:layout_constraintStart_toEndOf="@id/tv_name"
app:layout_constraintTop_toTopOf="@id/tv_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_name"
app:strokeWidth="0dp">
<TextView
@@ -92,29 +88,31 @@
android:text="@string/text"
android:textColor="?attr/colorTertiary"
android:textSize="10sp"
android:textStyle="bold" />
android:textStyle="bold"
tools:ignore="SmallSp" />
</com.google.android.material.card.MaterialCardView>
<TextView
android:layout_width="0dp"
android:id="@+id/tv_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="8dp"
android:text="@string/about_description"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/cd_about"
app:layout_constraintTop_toBottomOf="@id/tv_name" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cd_ver" />
<LinearLayout
android:id="@+id/ll_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cd_about">
app:layout_constraintTop_toBottomOf="@id/tv_detail">
<com.google.android.material.card.MaterialCardView
android:layout_width="8dp"
@@ -157,6 +155,7 @@
android:id="@+id/ll_contributors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
@@ -20,16 +20,88 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
<com.google.android.material.loadingindicator.LoadingIndicator
android:id="@+id/loading_indicator"
style="@style/Widget.Material3.LoadingIndicator.Contained"
<LinearLayout
android:id="@+id/ll_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="4dp"
android:layout_marginStart="16dp"
android:orientation="horizontal"
android:visibility="gone">
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
app:cardBackgroundColor="?attr/colorTertiaryContainer"
app:cardCornerRadius="4dp"
app:strokeWidth="0dp">
<TextView
android:id="@+id/tv_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="4dp"
android:paddingVertical="2dp"
android:text="@string/text"
android:textColor="?attr/colorTertiary"
android:textSize="11sp"
android:textStyle="bold"
tools:ignore="SmallSp" />
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:scaleType="centerCrop"
app:cardBackgroundColor="?attr/colorPrimary"
app:cardCornerRadius="4dp"
app:strokeWidth="0dp">
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="4dp"
android:paddingVertical="2dp"
android:text="@string/text"
android:textColor="?attr/colorOnPrimary"
android:textSize="11sp"
android:textStyle="bold"
tools:ignore="SmallSp" />
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
<LinearLayout
android:id="@+id/tv_empty_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:layout_gravity="center"
android:layout_margin="32dp"
android:visibility="visible" />
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(๑`^´๑)"
android:textSize="24sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="还没有源!" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
@@ -52,6 +124,7 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackgroundBorderless"
android:text="@string/text"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
@@ -11,15 +11,13 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:paddingVertical="16dp"
android:paddingBottom="16dp"
android:paddingHorizontal="16dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_bottom_sheet_handle"
android:layout_marginBottom="16dp" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
@@ -4,7 +4,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
android:paddingBottom="8dp">
<LinearLayout
android:layout_width="match_parent"
@@ -17,14 +17,12 @@
android:gravity="center"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
android:paddingBottom="8dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:background="@drawable/bg_bottom_sheet_handle" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
@@ -57,6 +55,7 @@
android:id="@+id/chip_autoBrightness"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:text="跟随系统" />
</LinearLayout>
@@ -71,6 +70,7 @@
android:id="@+id/cp_epaper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:layout_marginEnd="8dp"
android:text="@string/manga_epaper" />
@@ -78,9 +78,9 @@
android:id="@+id/cp_enableGray"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checkable="true"
android:text="灰度" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
@@ -3,8 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
android:paddingBottom="8dp">
<LinearLayout
android:id="@+id/root_view"
@@ -18,14 +17,12 @@
android:gravity="center"
android:orientation="vertical"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
android:paddingBottom="8dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"
android:background="@drawable/bg_bottom_sheet_handle" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
@@ -37,9 +34,52 @@
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp"
android:text="阅读模式"
android:textStyle="bold" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroupScrollMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="16dp"
android:singleLine="false"
app:chipSpacingVertical="0dp"
app:selectionRequired="true"
app:singleSelection="true" />
<LinearLayout
android:id="@+id/ll_webtoon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingTop="8dp"
android:text="条漫"
android:textStyle="bold" />
<io.legato.kazusa.ui.widget.DetailSeekBar
android:id="@+id/scv_Padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="30"
app:title="侧边留白" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
@@ -95,6 +135,7 @@
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
app:cardBackgroundColor="?attr/colorSurfaceVariant"
android:layout_marginHorizontal="16dp"
app:cardCornerRadius="8dp"
app:strokeWidth="0dp">
@@ -107,7 +148,8 @@
<com.google.android.material.chip.ChipGroup
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:paddingHorizontal="16dp">
<com.google.android.material.chip.Chip
android:id="@+id/cb_chapter_name"
@@ -134,7 +176,8 @@
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:paddingHorizontal="16dp">
<com.google.android.material.chip.Chip
android:id="@+id/cb_chapter_label"
@@ -165,7 +208,43 @@
android:text="2.1%" />
</com.google.android.material.chip.ChipGroup>
<com.google.android.material.button.MaterialButton
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="12dp">
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableClickScroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_click_scroll" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableMangaScale"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_scale" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxHideMangaTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hide_manga_title" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxVolumeKeyPage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/volume_key_page" />
</LinearLayout>
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_color_filter"
style="@style/Widget.Material3Expressive.Button.TonalButton"
app:icon="@drawable/ic_filter"
@@ -173,14 +252,15 @@
android:layout_height="wrap_content"
android:text="@string/manga_color_filter" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_click_set"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/click_regional_config"
app:icon="@drawable/ic_filter" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_click_set"
style="@style/Widget.Material3Expressive.Button.TonalButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/click_regional_config"
app:icon="@drawable/ic_filter" />
</com.google.android.material.button.MaterialButtonGroup>
</LinearLayout>
@@ -24,7 +24,7 @@
android:id="@+id/bottom_sheet_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="漫画设置"
android:text="自动阅读"
android:textSize="18sp"
android:textStyle="bold" />
@@ -36,30 +36,6 @@
android:orientation="vertical"
android:paddingHorizontal="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
android:text="阅读模式"
android:textStyle="bold" />
<com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroupScrollMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:singleLine="false"
app:chipSpacingVertical="0dp"
app:selectionRequired="true"
app:singleSelection="true" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
android:text="自动阅读"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -90,59 +66,4 @@
</LinearLayout>
<LinearLayout
android:id="@+id/ll_webtoon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingTop="8dp"
android:text="条漫"
android:textStyle="bold" />
<io.legato.kazusa.ui.widget.DetailSeekBar
android:id="@+id/scv_Padding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:max="30"
app:title="侧边留白" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="12dp">
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableClickScroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_click_scroll" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxDisableMangaScale"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/disable_manga_scale" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxHideMangaTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hide_manga_title" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkboxVolumeKeyPage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/volume_key_page" />
</LinearLayout>
</LinearLayout>
@@ -63,7 +63,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
@@ -133,9 +134,9 @@
android:textSize="10sp"
tool:ignore="SmallSp" />
</LinearLayout>
</com.google.android.material.button.MaterialButtonGroup>
<LinearLayout
<com.google.android.material.button.MaterialButtonGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
@@ -176,7 +177,7 @@
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
android:text="@string/more_setting" />
</LinearLayout>
</com.google.android.material.button.MaterialButtonGroup>
</LinearLayout>
@@ -15,15 +15,13 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:paddingVertical="16dp"
android:paddingBottom="16dp"
android:paddingHorizontal="16dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_bottom_sheet_handle"
android:layout_marginBottom="16dp" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
+5 -8
View File
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -10,15 +9,13 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:paddingVertical="8dp"
android:paddingBottom="8dp"
android:paddingHorizontal="16dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_bottom_sheet_handle"
android:layout_marginBottom="16dp" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
@@ -16,15 +16,13 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:paddingVertical="16dp"
android:paddingBottom="16dp"
android:paddingHorizontal="16dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_bottom_sheet_handle"
android:layout_marginBottom="16dp" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/bottom_sheet_title"
+5 -7
View File
@@ -11,14 +11,12 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:paddingVertical="16dp">
android:paddingBottom="16dp">
<View
android:layout_width="36dp"
android:layout_height="4dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_bottom_sheet_handle"
android:layout_marginBottom="16dp" />
<com.google.android.material.bottomsheet.BottomSheetDragHandleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
<LinearLayout
android:layout_width="match_parent"
+80 -71
View File
@@ -4,110 +4,119 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
tools:ignore="RtlHardcoded,RtlSymmetry"
android:paddingHorizontal="16dp">
android:background="@android:color/transparent"
android:foreground="?attr/selectableItemBackground"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_good"
android:layout_width="30dp"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:padding="5dp"
android:src="@drawable/ic_praise"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="4dp"
android:contentDescription="@string/like_source"
app:layout_constraintBottom_toTopOf="@+id/iv_bad"
app:layout_constraintLeft_toLeftOf="parent"
android:src="@drawable/ic_praise"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/md_red_A200" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_bad"
android:layout_width="30dp"
android:layout_height="0dp"
android:layout_marginBottom="5dp"
android:padding="5dp"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:padding="4dp"
android:rotationX="180"
android:src="@drawable/ic_praise"
android:contentDescription="@string/not_like_source"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_good"
android:src="@drawable/ic_praise"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_good"
app:tint="@color/md_blue_A200" />
<TextView
android:id="@+id/tv_origin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="10dp"
android:singleLine="true"
tools:text="bookSourceName"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/tv_author"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:maxWidth="160dp"
android:singleLine="true"
tools:text="author"
app:layout_constraintRight_toLeftOf="@+id/iv_checked"
app:layout_constraintTop_toTopOf="parent" />
<!-- 最新章节 -->
<TextView
android:id="@+id/tv_last"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginBottom="10dp"
android:singleLine="true"
tools:text="latest chapter name"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/iv_checked"
app:layout_constraintTop_toBottomOf="@+id/tv_origin" />
android:layout_marginStart="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?attr/colorSecondary"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/tv_author"
app:layout_constraintStart_toEndOf="@id/iv_good"
app:layout_constraintTop_toTopOf="parent"
tools:text="latest chapter name" />
<!-- 作者 -->
<TextView
android:id="@+id/tv_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:maxLines="1"
android:maxWidth="160dp"
app:layout_constraintBaseline_toBaselineOf="@id/tv_last"
app:layout_constraintEnd_toStartOf="@id/iv_checked"
tools:text="author" />
<!-- 来源 -->
<TextView
android:id="@+id/tv_origin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:ellipsize="end"
android:maxLines="1"
android:textSize="12sp"
app:layout_constraintBottom_toTopOf="@id/iv_bad"
app:layout_constraintEnd_toStartOf="@id/tv_author"
app:layout_constraintStart_toEndOf="@id/iv_bad"
app:layout_constraintTop_toBottomOf="@id/iv_bad"
tools:text="bookSourceName" />
<!-- 字数 -->
<TextView
android:id="@+id/tv_current_chapter_word_count"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginBottom="10dp"
android:singleLine="false"
tools:text="word count"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/iv_checked"
app:layout_constraintTop_toBottomOf="@+id/tv_last" />
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@id/tv_respond_time"
app:layout_constraintStart_toEndOf="@id/iv_good"
app:layout_constraintTop_toBottomOf="@id/tv_origin"
tools:text="word count" />
<!-- 响应时间 -->
<TextView
android:id="@+id/tv_respond_time"
android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginBottom="10dp"
android:singleLine="false"
tools:text="respond time"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:textSize="12sp"
app:layout_constraintBaseline_toBaselineOf="@id/tv_current_chapter_word_count"
app:layout_constraintEnd_toStartOf="@id/iv_checked"
app:layout_constraintStart_toEndOf="@id/tv_current_chapter_word_count"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/iv_checked"
app:layout_constraintTop_toBottomOf="@+id/tv_current_chapter_word_count" />
tools:text="respond time" />
<!-- 选中状态 -->
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_checked"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:padding="8dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:paddingVertical="8dp"
android:src="@drawable/ic_check"
android:visibility="invisible"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher1_b" />
<foreground android:drawable="@drawable/ic_launcher1" />
<monochrome android:drawable="@drawable/ic_launcher4" />
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
@@ -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/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
@@ -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="@drawable/ic_launcher1_b" />
<foreground android:drawable="@drawable/ic_launcher1" />
<monochrome android:drawable="@drawable/ic_launcher4" />
</adaptive-icon>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -63,6 +63,7 @@
<string-array name="icon_names">
<item>íconePrincipal</item>
<item>ícone0</item>
<item>ícone1</item>
<item>ícone2</item>
<item>ícone3</item>
+1 -1
View File
@@ -1142,7 +1142,7 @@
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">结果 %1$d, 当前进度 %2$d / %3$d: %4$s</string>
<string name="change_source_progress">结果 %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
+1 -1
View File
@@ -1145,7 +1145,7 @@
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">結果 %1$d、現在の進行状況 %2$d / %3$d: %4$s</string>
<string name="change_source_progress">結果 %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
@@ -63,6 +63,7 @@
<string-array name="icon_names">
<item>íconePrincipal</item>
<item>icone0</item>
<item>ícone1</item>
<item>ícone2</item>
<item>ícone3</item>
+1 -1
View File
@@ -1145,7 +1145,7 @@
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">" Resultado %1$d, progresso atual %2$d / %3$d: %4$s"</string>
<string name="change_source_progress">Resultado %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="default_home_page">默认主页</string>
+1 -1
View File
@@ -1141,7 +1141,7 @@ Còn </string>
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">Kết quả %1$d, tiến trình hiện tại %2$d / %3$d: %4$s</string>
<string name="change_source_progress">Kết quả %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="sync_book_progress_success">" Đồng bộ hóa tiến trình thành công"</string>
+1 -1
View File
@@ -1137,7 +1137,7 @@
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">" 結果 %1$d, 當前進度 %2$d / %3$d: %4$s"</string>
<string name="change_source_progress">結果 %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="sync_book_progress_success">進度同步成功</string>
@@ -61,6 +61,7 @@
<string-array name="icon_names">
<item>iconMain</item>
<item>icon0</item>
<item>icon1</item>
<item>icon2</item>
<item>icon3</item>
+1 -1
View File
@@ -1139,7 +1139,7 @@
<string name="export_book_notification_content">正在导出(%1$s),还有%2$d本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">" 結果 %1$d, 當前進度 %2$d / %3$d: %4$s"</string>
<string name="change_source_progress">結果 %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="sync_book_progress_success">進度同步成功</string>
+1
View File
@@ -49,6 +49,7 @@
<string-array name="icon_names">
<item>iconMain</item>
<item>icon0</item>
<item>icon1</item>
<item>icon2</item>
<item>icon3</item>
+2 -2
View File
@@ -97,7 +97,7 @@
<string name="offline_cache_s">缓存选择的章节到本地</string>
<string name="change_origin">换源</string>
<string name="about_description">
\u3000\u3000这是一款使用 Kotlin 全新开发的开源的阅读软件,欢迎您的加入。
全新设计的阅读 3.0
</string>
<string name="app_share_description">
阅读 3.0 下载地址:\nhttps://github.com/gedoor/legado/releases
@@ -1144,7 +1144,7 @@
<string name="export_book_notification_content">正在导出 (%1$s) ,还有 %2$d 本待导出</string>
<string name="export_md">导出(MD)</string>
<string name="change_source_delay">换源间隔</string>
<string name="change_source_progress">结果 %1$d, 当前进度 %2$d / %3$d: %4$s</string>
<string name="change_source_progress">结果 %1$d</string>
<string name="open_book_info_by_click_title">点击书名打开详情</string>
<string name="export_wait">等待导出</string>
<string name="sync_book_progress_success">进度同步成功</string>
+1
View File
@@ -3,6 +3,7 @@
<string-array name="icons">
<item>ic_launcher</item>
<item>launcher0</item>
<item>launcher1</item>
<item>launcher2</item>
<item>launcher3</item>
+1
View File
@@ -103,6 +103,7 @@
<string-array name="icon_names" tools:ignore="Typos">
<item>iconMain</item>
<item>icon0</item>
<item>icon1</item>
<item>icon2</item>
<item>icon3</item>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#3C3B4D</color>
</resources>
+1 -1
View File
@@ -1147,7 +1147,7 @@
<string name="export_book_notification_content">Exporting (%1$s), with %2$d to be exported.</string>
<string name="export_md">Export(MD)</string>
<string name="change_source_delay">Change source delay</string>
<string name="change_source_progress">Result %1$d, Progress %2$d / %3$d: %4$s</string>
<string name="change_source_progress">Result %1$d</string>
<string name="open_book_info_by_click_title">Click on the book title to open details</string>
<string name="export_wait">Waiting for export</string>
<string name="show_bookshelf_fast_scroller">Show quick scroll bar</string>