diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index 4e039e3a..b6652f98 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -9,7 +9,8 @@ "util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用于像素单位转换" ], "fix": [ - "幕旋转至横向时部分页面内容被侧边导航栏遮挡的问题", + "屏幕旋转至横向时子标题可能显示不完整的问题", + "屏幕旋转至横向时部分页面内容被侧边导航栏遮挡的问题", "Android 15 部分页面状态栏背景着色区域不完整的问题 _[`issue #398`](http://issues.autojs6.com/398)_", "代码编辑器可能使用置信度不足的编码写入文件导致内容解码异常的问题 (试修)" ], diff --git a/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt b/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt index f5582974..4b1a2ddb 100644 --- a/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt +++ b/app/src/main/java/org/autojs/autojs/theme/app/ColorSelectBaseActivity.kt @@ -104,8 +104,6 @@ abstract class ColorSelectBaseActivity : BaseActivity() { subtitle = this@ColorSelectBaseActivity.getSubtitle() setSupportActionBar(this) setNavigationOnClickListener { finish() } - setTitleTextAppearance(this@ColorSelectBaseActivity, R.style.TextAppearanceMainTitle) - setSubtitleTextAppearance(this@ColorSelectBaseActivity, R.style.TextAppearanceMainSubtitle) mToolbar = this } supportActionBar?.setDisplayHomeAsUpEnabled(true) diff --git a/app/src/main/java/org/autojs/autojs/theme/widget/ThemeColorToolbar.kt b/app/src/main/java/org/autojs/autojs/theme/widget/ThemeColorToolbar.kt index c8a49f1d..4024def6 100644 --- a/app/src/main/java/org/autojs/autojs/theme/widget/ThemeColorToolbar.kt +++ b/app/src/main/java/org/autojs/autojs/theme/widget/ThemeColorToolbar.kt @@ -2,20 +2,19 @@ package org.autojs.autojs.theme.widget import android.content.Context import android.util.AttributeSet -import androidx.appcompat.widget.Toolbar import org.autojs.autojs.theme.ThemeColor -import org.autojs.autojs.theme.ThemeColorManager.add +import org.autojs.autojs.theme.ThemeColorManager import org.autojs.autojs.theme.ThemeColorMutable +import org.autojs.autojs.ui.widget.AdaptiveTitleToolbar import org.autojs.autojs.util.ViewUtils import org.autojs.autojs.util.ViewUtils.applyColorFilterWith import org.autojs.autojs.util.ViewUtils.onceGlobalLayout -import org.autojs.autojs6.R /** * Created by Stardust on Mar 5, 2017. * Modified by SuperMonster003 as of Dec 1, 2021. */ -open class ThemeColorToolbar : Toolbar, ThemeColorMutable { +open class ThemeColorToolbar : AdaptiveTitleToolbar, ThemeColorMutable { constructor(context: Context) : super(context) { init() @@ -30,9 +29,7 @@ open class ThemeColorToolbar : Toolbar, ThemeColorMutable { } private fun init() { - add(this) - setContentInsetStartWithNavigation(context.resources.getDimensionPixelSize(R.dimen.toolbar_content_inset_start_with_navigation)) - setTitleTextAppearance(context, R.style.TextAppearanceMainTitle) + ThemeColorManager.add(this) } override fun setThemeColor(themeColor: ThemeColor) { @@ -44,11 +41,13 @@ open class ThemeColorToolbar : Toolbar, ThemeColorMutable { val tintColor = ViewUtils.getDayOrNightColorByLuminance(context, currentThemeColor) setBackgroundColor(currentThemeColor) - setTitleTextColor(tintColor) + setSubtitleTextColor(tintColor) + setTitleTextColor(tintColor) navigationIcon?.let { navigationIcon = it.applyColorFilterWith(tintColor) } collapseIcon?.let { collapseIcon = it.applyColorFilterWith(tintColor) } overflowIcon?.let { overflowIcon = it.applyColorFilterWith(tintColor) } } + } diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/AdaptiveTitleToolbar.kt b/app/src/main/java/org/autojs/autojs/ui/widget/AdaptiveTitleToolbar.kt new file mode 100644 index 00000000..fb91cf21 --- /dev/null +++ b/app/src/main/java/org/autojs/autojs/ui/widget/AdaptiveTitleToolbar.kt @@ -0,0 +1,65 @@ +package org.autojs.autojs.ui.widget + +import android.content.Context +import android.content.res.Configuration +import android.util.AttributeSet +import androidx.annotation.StyleRes +import androidx.appcompat.widget.Toolbar +import org.autojs.autojs.extension.ViewExtensions.titleView +import org.autojs.autojs6.R + +/** + * Created by SuperMonster003 on May 30, 2025. + */ +open class AdaptiveTitleToolbar : Toolbar { + + private val defaultTitleAppearance = R.style.TextAppearanceDefaultMainTitle + private val horizontalWithSubtitleTitleAppearance = R.style.TextAppearanceHorizontalWithSubtitleMainTitle + + constructor(context: Context) : super(context) { + init() + } + + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { + init() + } + + constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { + init() + } + + private fun init() { + setContentInsetStartWithNavigation(context.resources.getDimensionPixelSize(R.dimen.toolbar_content_inset_start_with_navigation)) + setTitleTextAppearanceKeepColor(defaultTitleAppearance) + setSubtitleTextAppearance(context, R.style.TextAppearanceMainSubtitle) + adjustTitleAppearance() + } + + private fun setTitleTextAppearanceKeepColor(@StyleRes resId: Int) { + val currentColor = titleView?.currentTextColor + setTitleTextAppearance(context, resId) + currentColor?.let { setTitleTextColor(it) } + } + + override fun setSubtitle(resId: Int) { + super.setSubtitle(resId) + adjustTitleAppearance() + } + + override fun setSubtitle(subtitle: CharSequence?) { + super.setSubtitle(subtitle) + adjustTitleAppearance() + } + + private fun adjustTitleAppearance() { + val isLandscape = resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE + val hasSubtitle = !subtitle.isNullOrEmpty() + + if (isLandscape && hasSubtitle) { + setTitleTextAppearanceKeepColor(horizontalWithSubtitleTitleAppearance) + } else { + setTitleTextAppearanceKeepColor(defaultTitleAppearance) + } + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index cc775b5b..ad43b4c7 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -9,6 +9,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" + android:fitsSystemWindows="true" android:gravity="center" android:minHeight="128dp" android:orientation="horizontal"> diff --git a/app/src/main/res/layout/activity_splash_inrt.xml b/app/src/main/res/layout/activity_splash_inrt.xml index 995ba48c..1e344fdb 100644 --- a/app/src/main/res/layout/activity_splash_inrt.xml +++ b/app/src/main/res/layout/activity_splash_inrt.xml @@ -10,6 +10,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="16dp" + android:fitsSystemWindows="true" android:gravity="center" android:minHeight="128dp" android:orientation="vertical"> diff --git a/app/src/main/res/layout/mt_activity_color_items.xml b/app/src/main/res/layout/mt_activity_color_items.xml index 69d3df6b..29c45825 100644 --- a/app/src/main/res/layout/mt_activity_color_items.xml +++ b/app/src/main/res/layout/mt_activity_color_items.xml @@ -19,7 +19,7 @@ android:fitsSystemWindows="true" app:theme="@style/MtAppTheme.AppBarOverlay"> - - - + 11sp + diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml index 9a59543e..3ea9056b 100644 --- a/app/src/main/res/values-night/styles.xml +++ b/app/src/main/res/values-night/styles.xml @@ -23,12 +23,4 @@ - \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index f59717c1..c6890de9 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -40,6 +40,7 @@ 11sp 0.5sp 20sp + 18sp 12sp 14sp 2dp diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a2e48f84..07ccf582 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -80,7 +80,9 @@ true false @color/window_background + @color/window_background @color/window_background + true - - - + + diff --git a/version.properties b/version.properties index c94e4b75..91a4aab6 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -#Fri May 30 21:14:05 CST 2025 -BUILD_TIME=1748610845415 +#Fri May 30 22:31:15 CST 2025 +BUILD_TIME=1748615475096 COMPILE_SDK_VERSION=35 IMAGE_QUANT_CMAKE_VERSION=3.22.1 IMAGE_QUANT_NDK_VERSION=26.1.10909125