diff --git a/app/build.gradle b/app/build.gradle index 7e2b76315..8abed54b6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -50,7 +50,7 @@ android { defaultConfig { applicationId "io.legato.kazusa" minSdk 26 - targetSdk 35 + targetSdk 36 versionCode 10000 + gitCommits versionName version testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/io/legato/kazusa/base/BaseActivity.kt b/app/src/main/java/io/legato/kazusa/base/BaseActivity.kt index 04c2cde8f..b0d5f216a 100644 --- a/app/src/main/java/io/legato/kazusa/base/BaseActivity.kt +++ b/app/src/main/java/io/legato/kazusa/base/BaseActivity.kt @@ -12,6 +12,7 @@ import android.view.MotionEvent import android.view.View import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity +import androidx.core.graphics.drawable.toDrawable import androidx.viewbinding.ViewBinding import com.google.android.material.appbar.AppBarLayout import com.google.android.material.color.DynamicColors @@ -28,7 +29,6 @@ import io.legato.kazusa.utils.hideSoftInput import io.legato.kazusa.utils.observeEvent import io.legato.kazusa.utils.toastOnUi import io.legato.kazusa.utils.windowSize -import androidx.core.graphics.drawable.toDrawable abstract class BaseActivity( @@ -134,6 +134,7 @@ abstract class BaseActivity( "4" -> setTheme(R.style.Theme_Base_Koharu) "5" -> setTheme(R.style.Theme_Base_Yuuka) "6" -> setTheme(R.style.Theme_Base_Phoebe) + "7" -> setTheme(R.style.AppTheme_Transparent) } } diff --git a/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt b/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt index 58ac9fca0..8cdd4798c 100644 --- a/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt +++ b/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt @@ -93,7 +93,8 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co "3" to R.style.Theme_Base_WH, "4" to R.style.Theme_Base_Koharu, "5" to R.style.Theme_Base_Yuuka, - "6" to R.style.Theme_Base_Phoebe + "6" to R.style.Theme_Base_Phoebe, + "7" to R.style.AppTheme_Transparent ) private fun getThemeColors(value: String): List { diff --git a/app/src/main/java/io/legato/kazusa/lib/prefs/TipPreference.kt b/app/src/main/java/io/legato/kazusa/lib/prefs/TipPreference.kt new file mode 100644 index 000000000..4c38f7ef2 --- /dev/null +++ b/app/src/main/java/io/legato/kazusa/lib/prefs/TipPreference.kt @@ -0,0 +1,34 @@ +package io.legato.kazusa.lib.prefs + +import android.content.Context +import android.util.AttributeSet +import android.widget.TextView +import androidx.core.content.withStyledAttributes +import androidx.preference.PreferenceViewHolder +import io.legato.kazusa.R + +class TipPreference(context: Context, attrs: AttributeSet) : Preference(context, attrs) { + + private var tipText: String? = null + + init { + layoutResource = R.layout.view_preference_tip + + // 从 attrs.xml 中读取 tipText + context.withStyledAttributes(attrs, R.styleable.TipPreference) { + tipText = getString(R.styleable.TipPreference_tipText) + } + } + + override fun onBindViewHolder(holder: PreferenceViewHolder) { + super.onBindViewHolder(holder) + + val tipTextView = holder.findViewById(R.id.tip_text) as? TextView + tipTextView?.text = tipText ?: "" + } + + fun setTipText(text: String) { + tipText = text + notifyChanged() + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_book_info.xml b/app/src/main/res/layout/activity_book_info.xml index d66710e27..6fd7f8634 100644 --- a/app/src/main/res/layout/activity_book_info.xml +++ b/app/src/main/res/layout/activity_book_info.xml @@ -344,16 +344,15 @@ android:id="@+id/btn_read" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:minWidth="56dp" android:layout_gravity="bottom|end" android:layout_marginEnd="16dp" android:layout_marginBottom="24dp" android:text="@string/reading" android:textColor="?attr/colorOnPrimary" android:contentDescription="@string/reading" - app:iconGravity="textStart" app:icon="@drawable/ic_bottom_books" app:backgroundTint="?attr/colorSecondary" - app:iconTint="?attr/colorOnPrimary" - app:layout_behavior="com.google.android.material.behavior.HideBottomViewOnScrollBehavior" /> + app:iconTint="?attr/colorOnPrimary" /> diff --git a/app/src/main/res/layout/activity_import_book.xml b/app/src/main/res/layout/activity_import_book.xml index 25e6de3e0..248f7cf6d 100644 --- a/app/src/main/res/layout/activity_import_book.xml +++ b/app/src/main/res/layout/activity_import_book.xml @@ -39,7 +39,7 @@ android:id="@+id/tv_go_back" android:layout_width="36dp" android:layout_height="36dp" - style="@style/Widget.Material3.Button.IconButton.Filled.Tonal" + style="@style/Widget.Material3Expressive.Button.IconButton.Tonal" app:icon="@drawable/ic_return" app:iconGravity="textStart" tools:ignore="UnusedAttribute" /> diff --git a/app/src/main/res/layout/dialog_read_aloud.xml b/app/src/main/res/layout/dialog_read_aloud.xml index 6490388a8..62ff73113 100644 --- a/app/src/main/res/layout/dialog_read_aloud.xml +++ b/app/src/main/res/layout/dialog_read_aloud.xml @@ -43,7 +43,7 @@ + android:textSize="10sp" + tool:ignore="SmallSp" /> + android:textSize="10sp" + tool:ignore="SmallSp" /> + android:textSize="10sp" + tool:ignore="SmallSp" /> + android:textSize="10sp" + tool:ignore="SmallSp" /> @@ -126,29 +134,39 @@ android:layout_marginTop="8dp" android:gravity="center_vertical" android:orientation="horizontal" - android:layout_marginHorizontal="12dp" > + android:layout_marginHorizontal="16dp"> + style="@style/Widget.Material3Expressive.Button.OutlinedButton" /> + + + + diff --git a/app/src/main/res/layout/view_pref.xml b/app/src/main/res/layout/view_pref.xml index 4246a4d89..22373aef8 100644 --- a/app/src/main/res/layout/view_pref.xml +++ b/app/src/main/res/layout/view_pref.xml @@ -1,10 +1,8 @@ + - \ No newline at end of file diff --git a/app/src/main/res/layout/view_preference_tip.xml b/app/src/main/res/layout/view_preference_tip.xml new file mode 100644 index 000000000..c44afa19a --- /dev/null +++ b/app/src/main/res/layout/view_preference_tip.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/app/src/main/res/layout/view_read_menu.xml b/app/src/main/res/layout/view_read_menu.xml index 7c5576991..b9d19f1c2 100644 --- a/app/src/main/res/layout/view_read_menu.xml +++ b/app/src/main/res/layout/view_read_menu.xml @@ -141,7 +141,7 @@ @@ -36,10 +33,7 @@ android:id="@+id/btn_select_action_main" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_margin="5dp" android:gravity="center" - android:minWidth="72dp" - android:padding="5dp" android:text="@string/app_name" android:visibility="gone" app:isBottomBackground="true" /> diff --git a/app/src/main/res/layout/view_theme_mode.xml b/app/src/main/res/layout/view_theme_mode.xml index 72b1faacc..c447ed836 100644 --- a/app/src/main/res/layout/view_theme_mode.xml +++ b/app/src/main/res/layout/view_theme_mode.xml @@ -2,14 +2,29 @@ + + + + #2C2A21 #37352B + #A0FFFFFF + #000000 + #80FFFFFF + #FF000000 + #80FFFFFF + #FF000000 + #40FFFFFF + #FF000000 + #80FFFFFF + #FF000000 + #40FFFFFF + #FF000000 + #CF6679 + #000000 + #8B0000 + #FFFFFF + #00000000 + #EDE6FF + #00FFFFFF + #EDE6FF + #40FFFFFF + #B3FFFFFF + #8AFFFFFF + #33FFFFFF + #66000000 + #FFF9EC + #1E1C13 + #A0FFFFFF + #A0FFFFFF + #000000 + #A0FFFFFF + #A0FFFFFF + #A0FFFFFF + #000000 + #A0FFFFFF + #A0FFFFFF + #A0FFFFFF + #000000 + #A0FFFFFF + #A0FFFFFF + #1AFFFFFF + #33FFFFFF + #0DFFFFFF + #1AFFFFFF + #33FFFFFF + #4DFFFFFF + #66FFFFFF + + @color/md_dark_disabled #10303030 diff --git a/app/src/main/res/values/array_values.xml b/app/src/main/res/values/array_values.xml index 6decee726..d2b0962aa 100644 --- a/app/src/main/res/values/array_values.xml +++ b/app/src/main/res/values/array_values.xml @@ -33,6 +33,7 @@ 4 5 6 + 7 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 68eea8383..cea12b4d3 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -62,6 +62,7 @@ Koharu Yuuka Phoebe + 透明 diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 92ae5ce6f..216e6afe5 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -246,4 +246,8 @@ + + + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 8e6cb4bdd..a40e09931 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -295,6 +295,54 @@ #EEE8DA #E8E2D4 + #000000 + #FFFFFFFF + #A0FFFFFF + #FF000000 + #A0FFFFFF + #FF000000 + #80FFFFFF + #FF000000 + #A0FFFFFF + #FF000000 + #80FFFFFF + #FF000000 + #BA1A1A + #FFFFFFFF + #FFDAD6 + #93000A + #00FFFFFF + #1E1C13 + #00FFFFFF + #1E1C13 + #1A000000 + #80000000 + #7C7768 + #CCC6B4 + #33000000 + #333027 + #F6F0E2 + #A0FFFFFF + #A0FFFFFF + #211B00 + #A0FFFFFF + #A0FFFFFF + #A0FFFFFF + #000000 + #A0FFFFFF + #A0FFFFFF + #A0FFFFFF + #000000 + #A0FFFFFF + #A0FFFFFF + #1AFFFFFF + #33FFFFFF + #0DFFFFFF + #1AFFFFFF + #33FFFFFF + #4DFFFFFF + #66FFFFFF + @color/md_light_disabled #66666666 diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 2cffc885b..cfab4257b 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -4,10 +4,63 @@ +