增加页脚配置 (#4724)

* 增加点击屏幕下部分右边下一页,左部分上一页

* 优化

* 增加开启自动翻页

* ...

* 修改命名

* ...

* ...

* ...

* 页脚配置

* ...

* ...
This commit is contained in:
lhjgege
2025-02-20 16:56:57 +08:00
committed by GitHub
parent 0afa41ef2c
commit 8ed6a1e54e
16 changed files with 544 additions and 28 deletions
@@ -97,6 +97,7 @@ object PreferKey {
const val preDownloadNum = "preDownloadNum" const val preDownloadNum = "preDownloadNum"
const val mangaPreDownloadNum = "mangaPreDownloadNum" const val mangaPreDownloadNum = "mangaPreDownloadNum"
const val mangaAutoPageSpeed = "mangaAutoPageSpeed" const val mangaAutoPageSpeed = "mangaAutoPageSpeed"
const val mangaFooterConfig = "mangaFooterConfig"
const val singlePageScrolling = "singlePageScrolling" const val singlePageScrolling = "singlePageScrolling"
const val disableClickScroller = "disableClickScroller" const val disableClickScroller = "disableClickScroller"
const val autoRefresh = "auto_refresh" const val autoRefresh = "auto_refresh"
@@ -643,5 +643,13 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
set(value) { set(value) {
appCtx.putPrefInt(PreferKey.mangaAutoPageSpeed, value) appCtx.putPrefInt(PreferKey.mangaAutoPageSpeed, value)
} }
//漫画页脚配置
var mangaFooterConfig
get() = appCtx.getPrefString(PreferKey.mangaFooterConfig, "")
set(value) {
appCtx.putPrefString(PreferKey.mangaFooterConfig, value)
}
} }
@@ -26,6 +26,7 @@ import com.bumptech.glide.util.FixedPreloadSizeProvider
import io.legado.app.BuildConfig import io.legado.app.BuildConfig
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.VMBaseActivity import io.legado.app.base.VMBaseActivity
import io.legado.app.constant.EventBus
import io.legado.app.data.entities.Book import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookChapter
import io.legado.app.data.entities.BookProgress import io.legado.app.data.entities.BookProgress
@@ -43,16 +44,22 @@ import io.legado.app.model.recyclerView.ReaderLoading
import io.legado.app.receiver.NetworkChangedListener import io.legado.app.receiver.NetworkChangedListener
import io.legado.app.ui.book.changesource.ChangeBookSourceDialog import io.legado.app.ui.book.changesource.ChangeBookSourceDialog
import io.legado.app.ui.book.info.BookInfoActivity import io.legado.app.ui.book.info.BookInfoActivity
import io.legado.app.ui.book.manga.config.MangaFooterConfig
import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog
import io.legado.app.ui.book.manga.rv.MangaAdapter import io.legado.app.ui.book.manga.rv.MangaAdapter
import io.legado.app.ui.book.read.MangaMenu import io.legado.app.ui.book.read.MangaMenu
import io.legado.app.ui.book.read.ReadBookActivity.Companion.RESULT_DELETED import io.legado.app.ui.book.read.ReadBookActivity.Companion.RESULT_DELETED
import io.legado.app.ui.book.toc.TocActivityResult import io.legado.app.ui.book.toc.TocActivityResult
import io.legado.app.ui.widget.ReaderInfoBarView
import io.legado.app.ui.widget.number.NumberPickerDialog import io.legado.app.ui.widget.number.NumberPickerDialog
import io.legado.app.ui.widget.recycler.LoadMoreView import io.legado.app.ui.widget.recycler.LoadMoreView
import io.legado.app.utils.GSON
import io.legado.app.utils.NetworkUtils import io.legado.app.utils.NetworkUtils
import io.legado.app.utils.StartActivityContract import io.legado.app.utils.StartActivityContract
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.getCompatColor import io.legado.app.utils.getCompatColor
import io.legado.app.utils.gone import io.legado.app.utils.gone
import io.legado.app.utils.observeEvent
import io.legado.app.utils.printOnDebug import io.legado.app.utils.printOnDebug
import io.legado.app.utils.showDialogFragment import io.legado.app.utils.showDialogFragment
import io.legado.app.utils.toastOnUi import io.legado.app.utils.toastOnUi
@@ -101,6 +108,8 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
} }
private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed
private var mMangaFooterConfig: MangaFooterConfig? = null
private val mLabelBuilder by lazy { StringBuilder() }
private val autoScrollHandler = Handler(Looper.getMainLooper()) private val autoScrollHandler = Handler(Looper.getMainLooper())
private val autoScrollRunnable = object : Runnable { private val autoScrollRunnable = object : Runnable {
@@ -170,6 +179,18 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
} }
} }
loadMoreView.gone() loadMoreView.gone()
mMangaFooterConfig = GSON.fromJsonObject<MangaFooterConfig>(AppConfig.mangaFooterConfig).getOrNull()
?: MangaFooterConfig()
observeEvent<MangaFooterConfig>(EventBus.UP_CONFIG) {
mMangaFooterConfig = it
AppConfig.mangaFooterConfig = GSON.toJson(it)
upInfoBar(
ReadManga.durChapterPagePos.plus(1),
ReadManga.durChapterPageCount,
ReadManga.durChapterPos.plus(1),
ReadManga.durChapterCount
)
}
} }
private fun initRecyclerView() { private fun initRecyclerView() {
@@ -291,12 +312,37 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
private fun upInfoBar( private fun upInfoBar(
chapterPagePos: Int, chapterPageCount: Int, chapterPos: Int, chapterCount: Int, chapterPagePos: Int, chapterPageCount: Int, chapterPos: Int, chapterCount: Int,
) { ) {
mMangaFooterConfig?.run {
mLabelBuilder.clear()
binding.infobar.isGone = this.hideFooter
binding.infobar.textInfoAlignment =this.footerOrientation
if (!this.hidePageNumber) {
if (!this.hidePageNumberLabel) {
mLabelBuilder.append(getString(R.string.manga_check_page_number))
}
mLabelBuilder.append("${chapterPos}/${chapterCount}").append(" ")
}
if (!this.hideChapter) {
if (!this.hideChapterLabel) {
mLabelBuilder.append(getString(R.string.manga_check_chapter))
}
mLabelBuilder.append("${chapterPagePos}/${chapterPageCount}").append(" ")
}
if (!this.hideProgressRatio) {
if (!this.hideProgressRatioLabel) {
mLabelBuilder.append(getString(R.string.manga_check_progress))
}
mLabelBuilder.append(
"${
chapterPagePos.div(chapterPageCount).times(100)
}%"
)
}
}
binding.infobar.update( binding.infobar.update(
chapterPagePos, if (mLabelBuilder.isEmpty()) "" else mLabelBuilder.toString()
chapterPageCount,
chapterPagePos.times(1f).div(chapterPageCount.times(1f)),
chapterPos,
chapterCount
) )
} }
@@ -471,6 +517,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
startAutoPage() startAutoPage()
} }
} }
R.id.menu_manga_footer_config -> {
MangaFooterSettingDialog().show(supportFragmentManager, "mangaFooterSettingDialog")
}
} }
return super.onCompatOptionsItemSelected(item) return super.onCompatOptionsItemSelected(item)
} }
@@ -0,0 +1,16 @@
package io.legado.app.ui.book.manga.config
import androidx.annotation.Keep
import io.legado.app.ui.widget.ReaderInfoBarView
@Keep
data class MangaFooterConfig(
var hideChapterLabel: Boolean = false,
var hideChapter: Boolean = false,
var hidePageNumberLabel: Boolean = false,
var hidePageNumber: Boolean = false,
var hideProgressRatioLabel: Boolean = false,
var hideProgressRatio: Boolean = false,
var footerOrientation: Int = ReaderInfoBarView.ALIGN_LEFT,//默认靠左
var hideFooter: Boolean = false
)
@@ -0,0 +1,101 @@
package io.legado.app.ui.book.manga.config
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment
import io.legado.app.constant.EventBus
import io.legado.app.databinding.DialogMangaFooterSettingBinding
import io.legado.app.help.config.AppConfig
import io.legado.app.ui.widget.ReaderInfoBarView
import io.legado.app.utils.GSON
import io.legado.app.utils.fromJsonObject
import io.legado.app.utils.postEvent
import io.legado.app.utils.setLayout
import io.legado.app.utils.viewbindingdelegate.viewBinding
class MangaFooterSettingDialog : BaseDialogFragment(R.layout.dialog_manga_footer_setting) {
val config = GSON.fromJsonObject<MangaFooterConfig>(AppConfig.mangaFooterConfig).getOrNull()
?: MangaFooterConfig()
private val binding by viewBinding(DialogMangaFooterSettingBinding::bind)
override fun onStart() {
super.onStart()
setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
}
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.cbChapterLabel.run {
isChecked = config.hideChapterLabel
setOnCheckedChangeListener { _, isChecked ->
config.hideChapterLabel = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.cbChapter.run {
isChecked = config.hideChapter
setOnCheckedChangeListener { _, isChecked ->
config.hideChapter = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.cbPageNumberLabel.run {
isChecked = config.hidePageNumberLabel
setOnCheckedChangeListener { _, isChecked ->
config.hidePageNumberLabel = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.cbPageNumber.run {
isChecked = config.hidePageNumber
setOnCheckedChangeListener { _, isChecked ->
config.hidePageNumber = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.cbProgressRatioLabel.run {
isChecked = config.hideProgressRatioLabel
setOnCheckedChangeListener { _, isChecked ->
config.hideProgressRatioLabel = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.cbProgressRatio.run {
isChecked = config.hideProgressRatio
setOnCheckedChangeListener { _, isChecked ->
config.hideProgressRatio = isChecked
postEvent(EventBus.UP_CONFIG, config)
}
}
binding.rgFooterOrientation.check(if (config.footerOrientation == ReaderInfoBarView.ALIGN_CENTER) R.id.rbCenter else R.id.rbLeft)
binding.rgFooterOrientation.setOnCheckedChangeListener { _, checkedId ->
when (checkedId) {
R.id.rbLeft -> {
config.footerOrientation = ReaderInfoBarView.ALIGN_LEFT
}
R.id.rbCenter -> {
config.footerOrientation = ReaderInfoBarView.ALIGN_CENTER
}
}
postEvent(EventBus.UP_CONFIG, config)
}
binding.rgFooter.check(if (config.hideFooter) R.id.rbDisable else R.id.rbEnable)
binding.rgFooter.setOnCheckedChangeListener { _, checkedId ->
when (checkedId) {
R.id.rbEnable -> {
config.hideFooter = false
}
R.id.rbDisable -> {
config.hideFooter = true
}
}
postEvent(EventBus.UP_CONFIG, config)
}
}
}
@@ -24,6 +24,7 @@ import java.text.NumberFormat
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Date import java.util.Date
import java.util.Locale import java.util.Locale
import kotlin.math.min
import com.google.android.material.R as materialR import com.google.android.material.R as materialR
class ReaderInfoBarView @JvmOverloads constructor( class ReaderInfoBarView @JvmOverloads constructor(
@@ -32,6 +33,11 @@ class ReaderInfoBarView @JvmOverloads constructor(
@AttrRes defStyleAttr: Int = 0, @AttrRes defStyleAttr: Int = 0,
) : View(context, attrs, defStyleAttr) { ) : View(context, attrs, defStyleAttr) {
companion object {
const val ALIGN_LEFT = 0
const val ALIGN_CENTER = 1
}
private val paint = Paint(Paint.ANTI_ALIAS_FLAG) private val paint = Paint(Paint.ANTI_ALIAS_FLAG)
private val textBounds = Rect() private val textBounds = Rect()
private val timeFormat = SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT) private val timeFormat = SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT)
@@ -54,12 +60,16 @@ class ReaderInfoBarView @JvmOverloads constructor(
200, 200,
) )
var textInfoAlignment: Int = ALIGN_CENTER
set(value) {
field = value
updateTextSize()
invalidate()
}
private var timeText = timeFormat.format(Date()) private var timeText = timeFormat.format(Date())
private var text: String = "" private var text: String = ""
private val innerHeight private val innerHeight
get() = height - paddingTop - paddingBottom - insetTop get() = height - paddingTop - paddingBottom - insetTop
private val innerWidth private val innerWidth
get() = width - paddingLeft - paddingRight - insetLeft - insetRight get() = width - paddingLeft - paddingRight - insetLeft - insetRight
@@ -76,12 +86,29 @@ class ReaderInfoBarView @JvmOverloads constructor(
override fun onDraw(canvas: Canvas) { override fun onDraw(canvas: Canvas) {
super.onDraw(canvas) super.onDraw(canvas)
val ty = innerHeight / 2f + textBounds.height() / 2f - textBounds.bottom val ty = innerHeight / 2f + textBounds.height() / 2f - textBounds.bottom
paint.textAlign = Paint.Align.LEFT
val textX = when (textInfoAlignment) {
ALIGN_CENTER -> {
val textWidth = paint.measureText(text)
(width / 2f).coerceIn(
paddingLeft + insetLeft + cutoutInsetLeft + textWidth / 2,
width - paddingRight - insetRight - cutoutInsetRight - textWidth / 2
)
}
else -> (paddingLeft + insetLeft + cutoutInsetLeft).toFloat()
}
paint.textAlign = when (textInfoAlignment) {
ALIGN_CENTER -> Paint.Align.CENTER
else -> Paint.Align.LEFT
}
canvas.drawTextOutline( canvas.drawTextOutline(
text, text,
(paddingLeft + insetLeft + cutoutInsetLeft).toFloat(), textX,
paddingTop + insetTop + ty, paddingTop + insetTop + ty,
) )
paint.textAlign = Paint.Align.RIGHT paint.textAlign = Paint.Align.RIGHT
canvas.drawTextOutline( canvas.drawTextOutline(
timeText, timeText,
@@ -117,21 +144,8 @@ class ReaderInfoBarView @JvmOverloads constructor(
context.unregisterReceiver(timeReceiver) context.unregisterReceiver(timeReceiver)
} }
fun update( fun update(label: String) {
currentPage: Int, text = label
totalPage: Int,
percent: Float,
chapterIndex: Int,
chapterCount: Int
) {
text = context.getString(
R.string.book_reader_info_bar,
chapterIndex,
chapterCount,
currentPage,
totalPage,
if (percent in 0f..1f) (percent * 100).format() else ""
)
updateTextSize() updateTextSize()
invalidate() invalidate()
} }
@@ -164,12 +178,30 @@ class ReaderInfoBarView @JvmOverloads constructor(
private fun updateTextSize() { private fun updateTextSize() {
val str = text + timeText
val testTextSize = 48f val testTextSize = 48f
paint.textSize = testTextSize paint.textSize = testTextSize
paint.getTextBounds(str, 0, str.length, textBounds) paint.getTextBounds(text, 0, text.length, textBounds)
paint.textSize = testTextSize * innerHeight / textBounds.height()
paint.getTextBounds(str, 0, str.length, textBounds) val maxTextHeight = innerHeight * 0.8f
val scaleFactor = min(
maxTextHeight / textBounds.height(),
calculateMaxWidthScale()
)
paint.textSize = testTextSize * scaleFactor
paint.getTextBounds(text, 0, text.length, textBounds)
}
private fun calculateMaxWidthScale(): Float {
return when (textInfoAlignment) {
ALIGN_CENTER -> {
val availableWidth = innerWidth - cutoutInsetLeft - cutoutInsetRight
val requiredWidth = paint.measureText(text)
if (requiredWidth > availableWidth) availableWidth / requiredWidth else 1f
}
else -> 1f
}
} }
private fun Canvas.drawTextOutline(text: String, x: Float, y: Float) { private fun Canvas.drawTextOutline(text: String, x: Float, y: Float) {
@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="20dp"
android:text="@string/manga_header_chapter"
android:textColor="@color/black"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp">
<CheckBox
android:id="@+id/cbChapterLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/manga_check_chapter_label"
android:textColor="#333333"
android:textSize="12sp" />
<CheckBox
android:id="@+id/cbChapter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center"
android:text="@string/manga_check_chapter"
android:textColor="#333333"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="20dp"
android:text="@string/manga_header_page"
android:textColor="@color/black"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp">
<CheckBox
android:id="@+id/cbPageNumberLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/manga_check_page_label"
android:textColor="#333333"
android:textSize="12sp" />
<CheckBox
android:id="@+id/cbPageNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center"
android:text="@string/manga_check_page_number"
android:textColor="#333333"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="20dp"
android:text="@string/manga_header_progress"
android:textColor="@color/black"
android:textSize="14sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp">
<CheckBox
android:id="@+id/cbProgressRatioLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/manga_check_progress_label"
android:textColor="#333333"
android:textSize="12sp" />
<CheckBox
android:id="@+id/cbProgressRatio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center"
android:text="@string/manga_check_progress"
android:textColor="#333333"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="20dp"
android:text="@string/manga_header_footer"
android:textColor="@color/black"
android:textSize="14sp" />
<RadioGroup
android:id="@+id/rgFooterOrientation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rbLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/manga_radio_left"
android:textColor="#333333"
android:textSize="12sp" />
<RadioButton
android:id="@+id/rbCenter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center"
android:text="@string/manga_radio_center"
android:textColor="#333333"
android:textSize="12sp" />
</RadioGroup>
<RadioGroup
android:id="@+id/rgFooter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rbDisable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/manga_radio_disable"
android:textColor="#333333"
android:textSize="12sp" />
<RadioButton
android:id="@+id/rbEnable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center"
android:text="@string/manga_radio_enable"
android:textColor="#333333"
android:textSize="12sp" />
</RadioGroup>
</LinearLayout>
+5
View File
@@ -57,4 +57,9 @@
android:visible="false" android:visible="false"
android:title="@string/manga_auto_page_speed" android:title="@string/manga_auto_page_speed"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/menu_manga_footer_config"
android:title="@string/manga_footer_config"
app:showAsAction="never"/>
</menu> </menu>
@@ -1187,8 +1187,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">Descargar el siguiente capítulo</string> <string name="menu_download_after">Descargar el siguiente capítulo</string>
<string name="menu_download_all">Descargar todos los capítulos</string> <string name="menu_download_all">Descargar todos los capítulos</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
@@ -1190,8 +1190,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">下载之后章节</string> <string name="menu_download_after">下载之后章节</string>
<string name="menu_download_all">下载全部章节</string> <string name="menu_download_all">下载全部章节</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
@@ -1190,8 +1190,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">Faça o download do próximo capítulo</string> <string name="menu_download_after">Faça o download do próximo capítulo</string>
<string name="menu_download_all">Download de todos os capítulos</string> <string name="menu_download_all">Download de todos os capítulos</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
+15
View File
@@ -1186,8 +1186,23 @@ Còn </string>
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">Tải xuống chương tiếp theo</string> <string name="menu_download_after">Tải xuống chương tiếp theo</string>
<string name="menu_download_all">Tải xuống tất cả các chương</string> <string name="menu_download_all">Tải xuống tất cả các chương</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
@@ -1187,8 +1187,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">下載之後章節</string> <string name="menu_download_after">下載之後章節</string>
<string name="menu_download_all">下載全部章節</string> <string name="menu_download_all">下載全部章節</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
@@ -1189,8 +1189,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">下載之後章節</string> <string name="menu_download_after">下載之後章節</string>
<string name="menu_download_all">下載全部章節</string> <string name="menu_download_all">下載全部章節</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
+15
View File
@@ -1189,8 +1189,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">下载之后章节</string> <string name="menu_download_after">下载之后章节</string>
<string name="menu_download_all">下载全部章节</string> <string name="menu_download_all">下载全部章节</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>
+15
View File
@@ -1190,8 +1190,23 @@
<string name="disable_manga_click_scroller">禁用点击翻页</string> <string name="disable_manga_click_scroller">禁用点击翻页</string>
<string name="enable_auto_page_scroller">开启自动翻页</string> <string name="enable_auto_page_scroller">开启自动翻页</string>
<string name="manga_auto_page_speed">翻页速度 %s 秒</string> <string name="manga_auto_page_speed">翻页速度 %s 秒</string>
<string name="manga_footer_config">页脚配置</string>
<string name="setting_manga_auto_page_speed">设置自动翻页速度</string> <string name="setting_manga_auto_page_speed">设置自动翻页速度</string>
<string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string> <string name="book_reader_info_bar">页数. %1$d/%2$d 章节. %3$d/%4$d -> %5$s%%</string>
<string name="menu_download_after">Download the chapter after</string> <string name="menu_download_after">Download the chapter after</string>
<string name="menu_download_all">Download all chapter</string> <string name="menu_download_all">Download all chapter</string>
<string name="manga_header_chapter">《章节和文案》隐藏</string>
<string name="manga_check_chapter_label">《章节.》文案</string>
<string name="manga_check_chapter">章节</string>
<string name="manga_header_page">《页数和文案》隐藏</string>
<string name="manga_check_page_label">《页数.》文案</string>
<string name="manga_check_page_number">页数</string>
<string name="manga_header_progress">《总进度和文案》隐藏</string>
<string name="manga_check_progress_label">《总进度.》文案</string>
<string name="manga_check_progress">总进度</string>
<string name="manga_header_footer">页脚</string>
<string name="manga_radio_left">靠左</string>
<string name="manga_radio_center">居中</string>
<string name="manga_radio_disable">禁用</string>
<string name="manga_radio_enable">启用</string>
</resources> </resources>