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

View File

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

View File

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

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_height="wrap_content"
android:layout_marginBottom="16dp"
android:fitsSystemWindows="true"
android:gravity="center"
android:minHeight="128dp"
android:orientation="horizontal">

View File

@@ -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">

View File

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

View File

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

View File

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

View File

@@ -40,6 +40,7 @@
<dimen name="editor_title_min_text_size_triple_line">11sp</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_horizontal_with_subtitle">18sp</dimen>
<dimen name="main_subtitle_text_size">12sp</dimen>
<dimen name="textSize_item_property">14sp</dimen>
<dimen name="first_char_view_stroke_width">2dp</dimen>

View File

@@ -80,7 +80,9 @@
<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>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="AppTheme.Settings" parent="AppTheme">
@@ -203,17 +205,23 @@
<item name="paddingStart">0dp</item>
</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:maxLines">1</item>
<item name="android:ellipsize">end</item>
</style>
<style name="TextAppearanceMainSubtitle" parent="TextAppearanceMainTitle">
<item name="android:textSize">@dimen/main_subtitle_text_size</item>
<style name="TextAppearanceHorizontalWithSubtitleMainTitle" parent="TextAppearanceDefaultMainTitle">
<item name="android:textSize">@dimen/main_title_text_size_horizontal_with_subtitle</item>
</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>
</style>

View File

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