更新依赖
更新部分界面
This commit is contained in:
@@ -186,7 +186,6 @@ dependencies {
|
||||
//noinspection GradleDependency,DifferentStdlibGradleVersion
|
||||
//implementation(libs.kotlin.reflect)
|
||||
|
||||
|
||||
//协程
|
||||
//def coroutines_version = '1.7.3'
|
||||
implementation(libs.bundles.coroutines)
|
||||
|
||||
@@ -15,7 +15,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.card.MaterialCardView
|
||||
import io.legato.kazusa.R
|
||||
import androidx.core.graphics.toColorInt
|
||||
import io.legato.kazusa.constant.EventBus
|
||||
import io.legato.kazusa.utils.postEvent
|
||||
|
||||
@@ -106,7 +105,7 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co
|
||||
com.google.android.material.R.attr.colorSecondaryContainer,
|
||||
com.google.android.material.R.attr.colorSecondaryVariant,
|
||||
com.google.android.material.R.attr.colorSurfaceContainer,
|
||||
com.google.android.material.R.attr.colorPrimary,
|
||||
androidx.appcompat.R.attr.colorPrimary,
|
||||
com.google.android.material.R.attr.colorOnSurfaceVariant,
|
||||
com.google.android.material.R.attr.colorSurface,
|
||||
com.google.android.material.R.attr.colorSecondaryContainer,
|
||||
|
||||
@@ -34,7 +34,7 @@ class AboutActivity : BaseActivity<ActivityAboutBinding>() {
|
||||
val typedValue = TypedValue()
|
||||
val context = binding.root.context
|
||||
context.theme.resolveAttribute(
|
||||
com.google.android.material.R.attr.colorPrimary,
|
||||
androidx.appcompat.R.attr.colorPrimary,
|
||||
typedValue,
|
||||
true
|
||||
)
|
||||
|
||||
@@ -29,7 +29,8 @@ class BookmarkDecoration(
|
||||
|
||||
private val textPaint = TextPaint().apply {
|
||||
textSize = 16f.spToPx()
|
||||
color = MaterialColors.getColor(context, com.google.android.material.R.attr.colorPrimary, Color.BLACK)
|
||||
color =
|
||||
MaterialColors.getColor(context, androidx.appcompat.R.attr.colorPrimary, Color.BLACK)
|
||||
isAntiAlias = true
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package io.legato.kazusa.ui.book.changesource
|
||||
|
||||
//import io.legado.app.lib.theme.getPrimaryTextColor
|
||||
//import io.legado.app.lib.theme.primaryColor
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageButton
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.os.bundleOf
|
||||
@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import io.legato.kazusa.R
|
||||
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
||||
import io.legato.kazusa.base.BaseDialogFragment
|
||||
import io.legato.kazusa.constant.AppLog
|
||||
import io.legato.kazusa.constant.EventBus
|
||||
import io.legato.kazusa.data.appDb
|
||||
@@ -29,8 +28,6 @@ import io.legato.kazusa.data.entities.SearchBook
|
||||
import io.legato.kazusa.databinding.DialogBookChangeSourceBinding
|
||||
import io.legato.kazusa.help.config.AppConfig
|
||||
import io.legato.kazusa.lib.dialogs.alert
|
||||
//import io.legado.app.lib.theme.getPrimaryTextColor
|
||||
//import io.legado.app.lib.theme.primaryColor
|
||||
import io.legato.kazusa.ui.book.read.ReadBookActivity
|
||||
import io.legato.kazusa.ui.book.source.edit.BookSourceEditActivity
|
||||
import io.legato.kazusa.ui.book.source.manage.BookSourceActivity
|
||||
@@ -41,7 +38,6 @@ import io.legato.kazusa.utils.applyTint
|
||||
import io.legato.kazusa.utils.dpToPx
|
||||
import io.legato.kazusa.utils.getCompatDrawable
|
||||
import io.legato.kazusa.utils.observeEvent
|
||||
import io.legato.kazusa.utils.setLayout
|
||||
import io.legato.kazusa.utils.startActivity
|
||||
import io.legato.kazusa.utils.transaction
|
||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||
@@ -95,11 +91,6 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
//setLayout(1f, ViewGroup.LayoutParams.MATCH_PARENT)
|
||||
}
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
//binding.toolBar.setBackgroundColor(primaryColor)
|
||||
viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
|
||||
@@ -234,6 +225,10 @@ class ChangeBookSourceDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_b
|
||||
repeatOnLifecycle(STARTED) {
|
||||
viewModel.searchDataFlow.conflate().collect {
|
||||
adapter.setItems(it)
|
||||
|
||||
binding.loadingIndicator.isVisible = it.isEmpty()
|
||||
binding.recyclerView.isVisible = it.isNotEmpty()
|
||||
|
||||
delay(1000)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class ChangeChapterTocAdapter(context: Context, val callback: Callback) :
|
||||
val isDur = durChapterIndex == item.index
|
||||
|
||||
if (isDur) {
|
||||
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorPrimary))
|
||||
tvChapterName.setTextColor(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
|
||||
} else {
|
||||
tvChapterName.setTextColor(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
||||
}
|
||||
|
||||
@@ -152,8 +152,6 @@ class MangaAdapter(private val context: Context) :
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return when {
|
||||
viewType >= TYPE_FOOTER_VIEW -> {
|
||||
|
||||
@@ -265,7 +265,7 @@ class ReadMenu @JvmOverloads constructor(
|
||||
|
||||
fun upBrightnessState() {
|
||||
if (brightnessAuto()) {
|
||||
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorPrimary))
|
||||
binding.ivBrightnessAuto.setColorFilter(context.themeColor(androidx.appcompat.R.attr.colorPrimary))
|
||||
binding.seekBrightness.isEnabled = false
|
||||
} else {
|
||||
binding.ivBrightnessAuto.setColorFilter(context.themeColor(com.google.android.material.R.attr.colorOnSurface))
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package io.legato.kazusa.ui.book.read.page
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Paint
|
||||
import android.os.SystemClock
|
||||
import androidx.core.graphics.withClip
|
||||
import io.legato.kazusa.help.config.AppConfig
|
||||
import io.legato.kazusa.help.config.ReadBookConfig
|
||||
import io.legato.kazusa.lib.theme.ThemeStore
|
||||
import io.legato.kazusa.ui.book.read.page.entities.PageDirection
|
||||
import io.legato.kazusa.utils.canvasrecorder.CanvasRecorderFactory
|
||||
import io.legato.kazusa.utils.canvasrecorder.recordIfNeeded
|
||||
@@ -31,7 +29,7 @@ class AutoPager(
|
||||
|
||||
fun start() {
|
||||
isRunning = true
|
||||
paint.color = readView.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
||||
paint.color = readView.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||
lastTimeMillis = SystemClock.uptimeMillis()
|
||||
readView.curPage.upSelectAble(false)
|
||||
readView.invalidate()
|
||||
|
||||
@@ -9,7 +9,6 @@ import io.legato.kazusa.help.PaintPool
|
||||
import io.legato.kazusa.help.book.isImage
|
||||
import io.legato.kazusa.help.config.AppConfig
|
||||
import io.legato.kazusa.help.config.ReadBookConfig
|
||||
import io.legato.kazusa.lib.theme.ThemeStore
|
||||
import io.legato.kazusa.model.ReadBook
|
||||
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
||||
import io.legato.kazusa.ui.book.read.page.entities.TextPage.Companion.emptyTextPage
|
||||
@@ -174,7 +173,7 @@ data class TextLine(
|
||||
ChapterProvider.contentPaint
|
||||
}
|
||||
val textColor = if (isReadAloud) {
|
||||
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
||||
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||
} else {
|
||||
ReadBookConfig.textColor
|
||||
}
|
||||
@@ -242,7 +241,7 @@ data class TextLine(
|
||||
@SuppressLint("NewApi")
|
||||
companion object {
|
||||
val emptyTextLine = TextLine()
|
||||
private val atLeastApi26 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
private val atLeastApi26 = true
|
||||
private val atLeastApi35 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM
|
||||
private val wordSpacingWorking by lazy {
|
||||
// issue 3785 3846
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.graphics.Canvas
|
||||
import android.os.Build
|
||||
import androidx.annotation.Keep
|
||||
import io.legato.kazusa.help.config.ReadBookConfig
|
||||
import io.legato.kazusa.lib.theme.ThemeStore
|
||||
import io.legato.kazusa.ui.book.read.page.ContentTextView
|
||||
import io.legato.kazusa.ui.book.read.page.entities.TextLine
|
||||
import io.legato.kazusa.ui.book.read.page.entities.TextLine.Companion.emptyTextLine
|
||||
@@ -50,7 +49,7 @@ data class TextColumn(
|
||||
ChapterProvider.contentPaint
|
||||
}
|
||||
val textColor = if (textLine.isReadAloud || isSearchResult) {
|
||||
view.context.themeColor(com.google.android.material.R.attr.colorPrimary)
|
||||
view.context.themeColor(androidx.appcompat.R.attr.colorPrimary)
|
||||
} else {
|
||||
ReadBookConfig.textColor
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package io.legato.kazusa.ui.book.searchContent
|
||||
|
||||
//import io.legado.app.lib.theme.accentColor
|
||||
import android.content.Context
|
||||
import android.view.ViewGroup
|
||||
import io.legato.kazusa.R
|
||||
import io.legato.kazusa.base.adapter.ItemViewHolder
|
||||
import io.legato.kazusa.base.adapter.RecyclerAdapter
|
||||
import io.legato.kazusa.databinding.ItemSearchListBinding
|
||||
//import io.legado.app.lib.theme.accentColor
|
||||
import io.legato.kazusa.utils.getCompatColor
|
||||
import io.legato.kazusa.utils.hexString
|
||||
import io.legato.kazusa.utils.themeColor
|
||||
|
||||
@@ -16,7 +14,8 @@ class SearchContentAdapter(context: Context, val callback: Callback) :
|
||||
RecyclerAdapter<SearchResult, ItemSearchListBinding>(context) {
|
||||
|
||||
val textColor = context.themeColor(com.google.android.material.R.attr.colorOnSurface).hexString.substring(2)
|
||||
val accentColor = context.themeColor(com.google.android.material.R.attr.colorPrimary).hexString.substring(2)
|
||||
val accentColor =
|
||||
context.themeColor(androidx.appcompat.R.attr.colorPrimary).hexString.substring(2)
|
||||
|
||||
override fun getViewBinding(parent: ViewGroup): ItemSearchListBinding {
|
||||
return ItemSearchListBinding.inflate(inflater, parent, false)
|
||||
|
||||
@@ -9,7 +9,7 @@ import io.legato.kazusa.R
|
||||
import io.legato.kazusa.base.BaseBottomSheetDialogFragment
|
||||
import io.legato.kazusa.data.entities.DictRule
|
||||
import io.legato.kazusa.databinding.DialogDictBinding
|
||||
import io.legato.kazusa.utils.invisible
|
||||
import io.legato.kazusa.utils.gone
|
||||
import io.legato.kazusa.utils.setHtml
|
||||
import io.legato.kazusa.utils.toastOnUi
|
||||
import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
|
||||
@@ -53,7 +53,7 @@ class DictDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_dict) {
|
||||
val dictRule = tab.tag as DictRule
|
||||
binding.rotateLoading.visible()
|
||||
viewModel.dict(dictRule, word!!) {
|
||||
binding.rotateLoading.invisible()
|
||||
binding.rotateLoading.gone()
|
||||
binding.tvDict.setHtml(it)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.legato.kazusa.ui.widget.recycler.scroller
|
||||
|
||||
//import io.legado.app.lib.theme.accentColor
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.annotation.SuppressLint
|
||||
@@ -11,7 +12,11 @@ import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewPropertyAnimator
|
||||
import android.widget.*
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.RelativeLayout
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
@@ -20,13 +25,11 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
||||
import io.legato.kazusa.R
|
||||
//import io.legado.app.lib.theme.accentColor
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
import kotlin.math.roundToInt
|
||||
@@ -502,7 +505,7 @@ class FastScroller : LinearLayout {
|
||||
mScrollbar = findViewById(R.id.fastscroll_scrollbar)
|
||||
mHandleImage = mHandleView.drawable?.mutate()
|
||||
val typedValue = TypedValue()
|
||||
context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true)
|
||||
context.theme.resolveAttribute(androidx.appcompat.R.attr.colorPrimary, typedValue, true)
|
||||
val defaultColor = typedValue.data
|
||||
var bubbleColor = defaultColor
|
||||
var handleColor = defaultColor
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<com.google.android.material.navigationrail.NavigationRailView
|
||||
android:id="@+id/navigation_rail_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/colorSurfaceContainer"
|
||||
app:menuGravity="center"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -51,9 +51,11 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
style="@style/Widget.Material3.CircularProgressIndicator.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:waveAmplitude="2dp"
|
||||
app:waveSpeed="2dp"
|
||||
app:wavelength="2dp"
|
||||
android:indeterminate="true"
|
||||
app:indicatorSize="40dp" />
|
||||
|
||||
|
||||
@@ -79,11 +79,11 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||
android:id="@+id/rotate_loading"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:indeterminate="false"
|
||||
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/book_info"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
||||
@@ -23,6 +23,15 @@
|
||||
android:indeterminate="true"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tool_bar" />
|
||||
|
||||
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||
android:id="@+id/loading_indicator"
|
||||
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="32dp"
|
||||
android:visibility="visible" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:padding="16dp">
|
||||
android:paddingHorizontal="16dp">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_delete"
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
android:id="@+id/tv_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="16dp"
|
||||
android:padding="12dp"
|
||||
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:text="@string/cancel"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
android:id="@+id/tv_ok"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="16dp"
|
||||
android:padding="12dp"
|
||||
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/ok"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btnCancel"
|
||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||
style="@style/Widget.Material3Expressive.Button.OutlinedButton"
|
||||
android:text="取消"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -214,7 +214,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btnOk"
|
||||
style="@style/Widget.Material3.Button"
|
||||
style="@style/Widget.Material3Expressive.Button"
|
||||
android:text="确定"
|
||||
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -1,19 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:minHeight="320dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- 顶部标题容器 -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/header_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<View
|
||||
android:layout_width="36dp"
|
||||
@@ -29,31 +33,45 @@
|
||||
android:text="词典"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- TabLayout -->
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent" />
|
||||
android:background="@android:color/transparent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/header_layout" />
|
||||
|
||||
<!-- LoadingIndicator 居中显示 -->
|
||||
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||
android:id="@+id/rotate_loading"
|
||||
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="32dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tab_layout" />
|
||||
|
||||
<!-- ScrollView 显示字典内容 -->
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/scroll_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="64dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tab_layout">
|
||||
|
||||
<io.legato.kazusa.ui.widget.text.ScrollTextView
|
||||
android:id="@+id/tv_dict"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="match_parent" />
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/rotate_loading"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="60dp"
|
||||
android:layout_gravity="center"
|
||||
android:indeterminate="true" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
android:padding="16dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||
android:id="@+id/pb"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:indeterminateBehavior="repeat"
|
||||
android:indeterminateOnly="true" />
|
||||
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_msg"
|
||||
|
||||
@@ -25,19 +25,18 @@
|
||||
android:id="@+id/loading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Material3.CircularProgressIndicator"
|
||||
android:indeterminate="false"
|
||||
app:indicatorSize="80dp"
|
||||
android:layout_gravity="center"
|
||||
android:indeterminate="true"
|
||||
app:indicatorSize="64dp" />
|
||||
app:showAnimationBehavior="outward" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/retry"
|
||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||
style="@style/Widget.Material3Expressive.Button.TonalButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:padding="8dp"
|
||||
android:text="重新加载"
|
||||
android:textSize="18sp"
|
||||
android:textColor="?attr/colorSurfaceVariant"
|
||||
|
||||
@@ -7,10 +7,13 @@
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/rotate_loading"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_margin="6dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="8dp"
|
||||
android:layout_gravity="center"
|
||||
app:waveAmplitude="2dp"
|
||||
app:waveSpeed="2dp"
|
||||
app:wavelength="2dp"
|
||||
android:visibility="invisible"
|
||||
android:indeterminate="true" />
|
||||
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.core.widget.ContentLoadingProgressBar
|
||||
<com.google.android.material.loadingindicator.LoadingIndicator
|
||||
style="@style/Widget.Material3.LoadingIndicator.Contained"
|
||||
android:id="@+id/loading_progress"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp" />
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_loading_message"
|
||||
@@ -16,4 +17,5 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
android:text="@string/dynamic_loading" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -2,6 +2,7 @@
|
||||
<com.google.android.material.button.MaterialButtonToggleGroup xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/theme_toggle_group"
|
||||
style="@style/Widget.Material3.MaterialButtonGroup.Connected"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:orientation="horizontal"
|
||||
@@ -11,7 +12,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_system"
|
||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||
style="@style/Widget.Material3Expressive.Button"
|
||||
app:checkedIcon="@drawable/ic_check"
|
||||
android:checkable="true"
|
||||
android:layout_width="0dp"
|
||||
@@ -21,7 +22,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_light"
|
||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||
style="@style/Widget.Material3Expressive.Button"
|
||||
app:checkedIcon="@drawable/ic_check"
|
||||
android:checkable="true"
|
||||
android:layout_width="0dp"
|
||||
@@ -31,7 +32,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_dark"
|
||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||
style="@style/Widget.Material3Expressive.Button"
|
||||
app:checkedIcon="@drawable/ic_check"
|
||||
android:checkable="true"
|
||||
android:layout_width="0dp"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
||||
<style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
</style>
|
||||
|
||||
<style name="Base.AppTheme" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
||||
<style name="Base.AppTheme" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
||||
@@ -17,7 +17,7 @@
|
||||
<item name="chipStyle">@style/Widget.Material3.Chip.Filter</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.Base.Dycolors" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
||||
<style name="Theme.Base.Dycolors" parent="Theme.Material3Expressive.DynamicColors.DayNight.NoActionBar">
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
@@ -46,3 +46,5 @@ CronetMainVersion=128.0.0.0
|
||||
android.injected.testOnly=false
|
||||
android.nonFinalResIds=true
|
||||
android.injected.androidTest.leaveApksInstalledAfterRun=true
|
||||
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
[versions]
|
||||
|
||||
datastorePreferences = "1.0.0"
|
||||
datastorePreferences = "1.1.7"
|
||||
kotlin = "2.1.21"
|
||||
ksp = "2.1.21-2.0.1"
|
||||
agp = "8.10.1"
|
||||
appcompat = "1.7.0"
|
||||
appcompat = "1.7.1"
|
||||
colorpicker = "1.1.0"
|
||||
commonsText = "1.13.1"
|
||||
constraintlayout = "2.2.1"
|
||||
core = "1.16.0"
|
||||
firebaseBom = "33.2.0"
|
||||
firebaseBom = "34.0.0"
|
||||
flexbox = "3.0.0"
|
||||
fragment = "1.8.7"
|
||||
fragment = "1.8.8"
|
||||
|
||||
#不要更新版本
|
||||
hutool = "5.8.22"
|
||||
|
||||
libarchive = "1.1.5"
|
||||
lifecycle = "2.9.0"
|
||||
lifecycle = "2.9.2"
|
||||
glide = "4.16.0"
|
||||
gson = "2.13.1"
|
||||
jsonPath = "2.9.0"
|
||||
@@ -28,16 +28,16 @@ jsoupxpath = "2.5.3"
|
||||
coroutines = "1.10.2"
|
||||
liveeventbus = "1.8.14"
|
||||
markwon = "4.6.2"
|
||||
material = "1.12.0"
|
||||
material = "1.14.0-alpha03"
|
||||
media = "1.7.0"
|
||||
media3 = "1.6.1"
|
||||
media3 = "1.7.1"
|
||||
nanoHttpd = "2.3.1"
|
||||
okhttp = "4.12.0"
|
||||
palette = "1.0.0"
|
||||
preference = "1.2.1"
|
||||
protobufJavalite = "4.26.1"
|
||||
quickChineseTransfer = "0.2.16"
|
||||
room = "2.7.1"
|
||||
room = "2.7.2"
|
||||
splitties = "3.0.0"
|
||||
rhino = "1.8.0"
|
||||
desugar = "2.1.5"
|
||||
@@ -49,7 +49,7 @@ swiperefreshlayout = "1.1.0"
|
||||
recyclerview = "1.2.0"
|
||||
#noinspection GradleDependency
|
||||
viewpager2 = "1.0.0"
|
||||
webkit = "1.13.0"
|
||||
webkit = "1.14.0"
|
||||
collection = "1.5.0"
|
||||
|
||||
zxingLite = "3.2.0"
|
||||
|
||||
Reference in New Issue
Block a user