6.6.4 - Alpha2 - 修复屏幕旋转至横向时子标题可能显示不完整的问题

This commit is contained in:
SuperMonster003
2025-05-30 22:32:38 +08:00
parent 49869b7188
commit 7450078e46
14 changed files with 97 additions and 28 deletions

View File

@@ -9,7 +9,8 @@
"util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用于像素单位转换" "util.dpToPx/spToPx/pxToDp/pxToSp 方法, 用于像素单位转换"
], ],
"fix": [ "fix": [
"幕旋转至横向时部分页面内容被侧边导航栏遮挡的问题", "幕旋转至横向时子标题可能显示不完整的问题",
"屏幕旋转至横向时部分页面内容被侧边导航栏遮挡的问题",
"Android 15 部分页面状态栏背景着色区域不完整的问题 _[`issue #398`](http://issues.autojs6.com/398)_", "Android 15 部分页面状态栏背景着色区域不完整的问题 _[`issue #398`](http://issues.autojs6.com/398)_",
"代码编辑器可能使用置信度不足的编码写入文件导致内容解码异常的问题 (试修)" "代码编辑器可能使用置信度不足的编码写入文件导致内容解码异常的问题 (试修)"
], ],

View File

@@ -104,8 +104,6 @@ abstract class ColorSelectBaseActivity : BaseActivity() {
subtitle = this@ColorSelectBaseActivity.getSubtitle() subtitle = this@ColorSelectBaseActivity.getSubtitle()
setSupportActionBar(this) setSupportActionBar(this)
setNavigationOnClickListener { finish() } setNavigationOnClickListener { finish() }
setTitleTextAppearance(this@ColorSelectBaseActivity, R.style.TextAppearanceMainTitle)
setSubtitleTextAppearance(this@ColorSelectBaseActivity, R.style.TextAppearanceMainSubtitle)
mToolbar = this mToolbar = this
} }
supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.setDisplayHomeAsUpEnabled(true)

View File

@@ -2,20 +2,19 @@ package org.autojs.autojs.theme.widget
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import androidx.appcompat.widget.Toolbar
import org.autojs.autojs.theme.ThemeColor 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.theme.ThemeColorMutable
import org.autojs.autojs.ui.widget.AdaptiveTitleToolbar
import org.autojs.autojs.util.ViewUtils import org.autojs.autojs.util.ViewUtils
import org.autojs.autojs.util.ViewUtils.applyColorFilterWith import org.autojs.autojs.util.ViewUtils.applyColorFilterWith
import org.autojs.autojs.util.ViewUtils.onceGlobalLayout import org.autojs.autojs.util.ViewUtils.onceGlobalLayout
import org.autojs.autojs6.R
/** /**
* Created by Stardust on Mar 5, 2017. * Created by Stardust on Mar 5, 2017.
* Modified by SuperMonster003 as of Dec 1, 2021. * Modified by SuperMonster003 as of Dec 1, 2021.
*/ */
open class ThemeColorToolbar : Toolbar, ThemeColorMutable { open class ThemeColorToolbar : AdaptiveTitleToolbar, ThemeColorMutable {
constructor(context: Context) : super(context) { constructor(context: Context) : super(context) {
init() init()
@@ -30,9 +29,7 @@ open class ThemeColorToolbar : Toolbar, ThemeColorMutable {
} }
private fun init() { private fun init() {
add(this) ThemeColorManager.add(this)
setContentInsetStartWithNavigation(context.resources.getDimensionPixelSize(R.dimen.toolbar_content_inset_start_with_navigation))
setTitleTextAppearance(context, R.style.TextAppearanceMainTitle)
} }
override fun setThemeColor(themeColor: ThemeColor) { override fun setThemeColor(themeColor: ThemeColor) {
@@ -44,11 +41,13 @@ open class ThemeColorToolbar : Toolbar, ThemeColorMutable {
val tintColor = ViewUtils.getDayOrNightColorByLuminance(context, currentThemeColor) val tintColor = ViewUtils.getDayOrNightColorByLuminance(context, currentThemeColor)
setBackgroundColor(currentThemeColor) setBackgroundColor(currentThemeColor)
setTitleTextColor(tintColor)
setSubtitleTextColor(tintColor) setSubtitleTextColor(tintColor)
setTitleTextColor(tintColor)
navigationIcon?.let { navigationIcon = it.applyColorFilterWith(tintColor) } navigationIcon?.let { navigationIcon = it.applyColorFilterWith(tintColor) }
collapseIcon?.let { collapseIcon = it.applyColorFilterWith(tintColor) } collapseIcon?.let { collapseIcon = it.applyColorFilterWith(tintColor) }
overflowIcon?.let { overflowIcon = it.applyColorFilterWith(tintColor) } overflowIcon?.let { overflowIcon = it.applyColorFilterWith(tintColor) }
} }
} }

View File

@@ -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)
}
}
}

View File

@@ -9,6 +9,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"
android:fitsSystemWindows="true"
android:gravity="center" android:gravity="center"
android:minHeight="128dp" android:minHeight="128dp"
android:orientation="horizontal"> android:orientation="horizontal">

View File

@@ -10,6 +10,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"
android:fitsSystemWindows="true"
android:gravity="center" android:gravity="center"
android:minHeight="128dp" android:minHeight="128dp"
android:orientation="vertical"> android:orientation="vertical">

View File

@@ -19,7 +19,7 @@
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
app:theme="@style/MtAppTheme.AppBarOverlay"> app:theme="@style/MtAppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar <org.autojs.autojs.ui.widget.AdaptiveTitleToolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"

View File

@@ -19,7 +19,7 @@
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
app:theme="@style/MtAppTheme.AppBarOverlay"> app:theme="@style/MtAppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar <org.autojs.autojs.ui.widget.AdaptiveTitleToolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"

View File

@@ -19,7 +19,7 @@
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
app:theme="@style/MtAppTheme.AppBarOverlay"> app:theme="@style/MtAppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar <org.autojs.autojs.ui.widget.AdaptiveTitleToolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"

View File

@@ -0,0 +1,3 @@
<resources>
<dimen name="main_subtitle_text_size">11sp</dimen>
</resources>

View File

@@ -23,12 +23,4 @@
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.Splash" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowBackground">@color/window_background</item>
<item name="android:statusBarColor">@color/window_background</item>
<item name="android:navigationBarColor">@color/window_background</item>
</style>
</resources> </resources>

View File

@@ -40,6 +40,7 @@
<dimen name="editor_title_min_text_size_triple_line">11sp</dimen> <dimen name="editor_title_min_text_size_triple_line">11sp</dimen>
<dimen name="editor_title_text_size_step">0.5sp</dimen> <dimen name="editor_title_text_size_step">0.5sp</dimen>
<dimen name="main_title_text_size">20sp</dimen> <dimen name="main_title_text_size">20sp</dimen>
<dimen name="main_title_text_size_horizontal_with_subtitle">18sp</dimen>
<dimen name="main_subtitle_text_size">12sp</dimen> <dimen name="main_subtitle_text_size">12sp</dimen>
<dimen name="textSize_item_property">14sp</dimen> <dimen name="textSize_item_property">14sp</dimen>
<dimen name="first_char_view_stroke_width">2dp</dimen> <dimen name="first_char_view_stroke_width">2dp</dimen>

View File

@@ -80,7 +80,9 @@
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="android:windowBackground">@color/window_background</item> <item name="android:windowBackground">@color/window_background</item>
<item name="android:statusBarColor">@color/window_background</item>
<item name="android:navigationBarColor">@color/window_background</item> <item name="android:navigationBarColor">@color/window_background</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style> </style>
<style name="AppTheme.Settings" parent="AppTheme"> <style name="AppTheme.Settings" parent="AppTheme">
@@ -203,17 +205,23 @@
<item name="paddingStart">0dp</item> <item name="paddingStart">0dp</item>
</style> </style>
<style name="TextAppearanceMainTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> <style name="TextAppearanceDefaultMainTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">@dimen/main_title_text_size</item> <item name="android:textSize">@dimen/main_title_text_size</item>
<item name="android:maxLines">1</item> <item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
</style> </style>
<style name="TextAppearanceMainSubtitle" parent="TextAppearanceMainTitle"> <style name="TextAppearanceHorizontalWithSubtitleMainTitle" parent="TextAppearanceDefaultMainTitle">
<item name="android:textSize">@dimen/main_subtitle_text_size</item> <item name="android:textSize">@dimen/main_title_text_size_horizontal_with_subtitle</item>
</style> </style>
<style name="OverflowIconDarkTheme" parent="@style/Widget.AppCompat.ActionButton.Overflow" > <style name="TextAppearanceMainSubtitle" parent="TextAppearanceDefaultMainTitle">
<item name="android:textSize">@dimen/main_subtitle_text_size</item>
<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>
</style>
<style name="OverflowIconDarkTheme" parent="@style/Widget.AppCompat.ActionButton.Overflow">
<item name="android:tint">@color/md_white_1000</item> <item name="android:tint">@color/md_white_1000</item>
</style> </style>

View File

@@ -1,5 +1,5 @@
#Fri May 30 21:14:05 CST 2025 #Fri May 30 22:31:15 CST 2025
BUILD_TIME=1748610845415 BUILD_TIME=1748615475096
COMPILE_SDK_VERSION=35 COMPILE_SDK_VERSION=35
IMAGE_QUANT_CMAKE_VERSION=3.22.1 IMAGE_QUANT_CMAKE_VERSION=3.22.1
IMAGE_QUANT_NDK_VERSION=26.1.10909125 IMAGE_QUANT_NDK_VERSION=26.1.10909125