refactor: 重构主题颜色系统,统一使用命名的颜色属性

1. 新增主窗口颜色属性定义
   - mainWindowBackgroundColor - 普通模式主窗口背景色
   - mainWindowTextColor - 普通模式主窗口文字色
   - mainWindowDarkBackgroundColor - 深色模式主窗口背景色
   - mainWindowDarkTextColor - 深色模式主窗口文字色

2. 重构 view_globalcrashreport.xml 布局
   - 添加 themeGlobalCrashActivity 主题
   - 控件颜色属性改为引用主题属性

3. 统一应用内颜色配置
   - APPBaseTheme 所有颜色属性统一引用命名颜色值
   - GlobalCrashActivityTheme 文字颜色引用主窗口文字色

4. 修复崩溃循环问题
   - 避免属性自引用导致的循环解析
This commit is contained in:
2026-05-11 08:59:34 +08:00
parent 436e92702f
commit 29726828b0
6 changed files with 70 additions and 42 deletions

View File

@@ -2,16 +2,18 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="?attr/themeGlobalCrashActivity"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/activityBackgroundColor"
android:background="?attr/colorTextBackgound"
android:id="@+id/viewglobalcrashreportLinearLayout1">
<android.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/toolbarBackgroundColor"
android:background="?attr/colorTittleBackgound"
android:titleTextColor="?attr/colorTittle"
android:id="@+id/viewglobalcrashreportToolbar1"/>
<ScrollView
@@ -28,7 +30,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textColor="?attr/activityTextColor"
android:textColor="?attr/colorText"
android:id="@+id/viewglobalcrashreportTextView1"/>
</HorizontalScrollView>

View File

@@ -2,16 +2,18 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="?attr/themeGlobalCrashActivity"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/activityBackgroundColor"
android:background="?attr/colorTextBackgound"
android:id="@+id/viewglobalcrashreportLinearLayout1">
<android.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/toolbarBackgroundColor"
android:background="?attr/colorTittleBackgound"
android:titleTextColor="?attr/colorTittle"
android:id="@+id/viewglobalcrashreportToolbar1"/>
<ScrollView
@@ -28,7 +30,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textColor="?attr/activityTextColor"
android:textColor="?attr/colorText"
android:id="@+id/viewglobalcrashreportTextView1"/>
</HorizontalScrollView>

View File

@@ -47,4 +47,12 @@
<attr name="activityBackgroundColor" format="color"/>
<attr name="activityTextColor" format="color"/>
<!-- MainWindowStyle 主窗口样式属性 -->
<attr name="mainWindowBackgroundColor" format="color"/>
<attr name="mainWindowTextColor" format="color"/>
<!-- MainWindowDarkStyle 深色模式主窗口样式属性 -->
<attr name="mainWindowDarkBackgroundColor" format="color"/>
<attr name="mainWindowDarkTextColor" format="color"/>
</resources>

View File

@@ -4,32 +4,36 @@
<!-- APPBaseTheme 深色模式主题 -->
<style name="APPBaseTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
<item name="themeGlobalCrashActivity">@style/GlobalCrashActivityTheme</item>
<item name="aboutViewBackgroundColor">#FF0D1B2A</item>
<item name="aboutViewTextColor">#FFE0E0E0</item>
<item name="aboutViewTitleColor">#FFE0E0E0</item>
<item name="aboutViewDividerColor">#FF333333</item>
<item name="aboutViewBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="aboutViewTextColor">?attr/mainWindowDarkTextColor</item>
<item name="aboutViewTitleColor">?attr/mainWindowDarkTextColor</item>
<item name="aboutViewDividerColor">?attr/mainWindowTextColor</item>
<item name="buttonBackgroundColor">#FF1E3A5F</item>
<item name="buttonTextColor">#FFE0E0E0</item>
<item name="dialogBackgroundColor">#FF0D1B2A</item>
<item name="dialogTextColor">#FFE0E0E0</item>
<item name="buttonTextColor">?attr/mainWindowDarkTextColor</item>
<item name="dialogBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="dialogTextColor">?attr/mainWindowDarkTextColor</item>
<item name="toolbarBackgroundColor">#FF1E3A5F</item>
<item name="toolbarTextColor">#FFE0E0E0</item>
<item name="textViewBackgroundColor">#FF0D1B2A</item>
<item name="textViewTextColor">#FFE0E0E0</item>
<item name="editTextBackgroundColor">#FF1E3A5F</item>
<item name="editTextTextColor">#FFE0E0E0</item>
<item name="scrollViewBackgroundColor">#FF0D1B2A</item>
<item name="activityBackgroundColor">#FF0D1B2A</item>
<item name="activityTextColor">#FFE0E0E0</item>
<item name="toolbarTextColor">?attr/mainWindowDarkTextColor</item>
<item name="textViewBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="textViewTextColor">?attr/mainWindowDarkTextColor</item>
<item name="editTextBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="editTextTextColor">?attr/mainWindowDarkTextColor</item>
<item name="scrollViewBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="activityBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
<item name="activityTextColor">?attr/mainWindowDarkTextColor</item>
<item name="mainWindowBackgroundColor">#FF0D1B2A</item>
<item name="mainWindowTextColor">#FFE0E0E0</item>
<item name="mainWindowDarkBackgroundColor">#FF0D1B2A</item>
<item name="mainWindowDarkTextColor">#FFE0E0E0</item>
</style>
<!-- GlobalCrashActivityTheme 深色模式样式 -->
<style name="GlobalCrashActivityTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
<item name="android:statusBarColor">#FF0D1B2A</item>
<item name="colorTittle">#FFE0E0E0</item>
<item name="colorTittle">?attr/mainWindowTextColor</item>
<item name="colorTittleBackgound">#FF1E3A5F</item>
<item name="colorText">#FFE0E0E0</item>
<item name="colorTextBackgound">#FF0D1B2A</item>
<item name="colorText">?attr/mainWindowTextColor</item>
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
</style>
<!-- DialogStyle 对话框样式 -->

View File

@@ -53,4 +53,12 @@
<attr name="activityBackgroundColor" format="color"/>
<attr name="activityTextColor" format="color"/>
<!-- MainWindowStyle 主窗口样式属性 -->
<attr name="mainWindowBackgroundColor" format="color"/>
<attr name="mainWindowTextColor" format="color"/>
<!-- MainWindowDarkStyle 深色模式主窗口样式属性 -->
<attr name="mainWindowDarkBackgroundColor" format="color"/>
<attr name="mainWindowDarkTextColor" format="color"/>
</resources>

View File

@@ -4,32 +4,36 @@
<!-- APPBaseTheme 普通模式主题 -->
<style name="APPBaseTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
<item name="themeGlobalCrashActivity">@style/GlobalCrashActivityTheme</item>
<item name="aboutViewBackgroundColor">#FFF5F5F5</item>
<item name="aboutViewTextColor">#FF000000</item>
<item name="aboutViewTitleColor">#FF000000</item>
<item name="aboutViewDividerColor">#FFE0E0E0</item>
<item name="aboutViewBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="aboutViewTextColor">?attr/mainWindowTextColor</item>
<item name="aboutViewTitleColor">?attr/mainWindowTextColor</item>
<item name="aboutViewDividerColor">?attr/mainWindowDarkTextColor</item>
<item name="buttonBackgroundColor">#FF00B322</item>
<item name="buttonTextColor">#FF000000</item>
<item name="dialogBackgroundColor">#FFF5F5F5</item>
<item name="dialogTextColor">#FF000000</item>
<item name="buttonTextColor">?attr/mainWindowTextColor</item>
<item name="dialogBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="dialogTextColor">?attr/mainWindowTextColor</item>
<item name="toolbarBackgroundColor">#FF00B322</item>
<item name="toolbarTextColor">#FF000000</item>
<item name="textViewBackgroundColor">#FFF5F5F5</item>
<item name="textViewTextColor">#FF000000</item>
<item name="editTextBackgroundColor">#FFFFFFFF</item>
<item name="editTextTextColor">#FF000000</item>
<item name="scrollViewBackgroundColor">#FFF5F5F5</item>
<item name="activityBackgroundColor">#FFF5F5F5</item>
<item name="activityTextColor">#FF000000</item>
<item name="toolbarTextColor">?attr/mainWindowTextColor</item>
<item name="textViewBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="textViewTextColor">?attr/mainWindowTextColor</item>
<item name="editTextBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="editTextTextColor">?attr/mainWindowTextColor</item>
<item name="scrollViewBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="activityBackgroundColor">?attr/mainWindowBackgroundColor</item>
<item name="activityTextColor">?attr/mainWindowTextColor</item>
<item name="mainWindowBackgroundColor">#FFF5F5F5</item>
<item name="mainWindowTextColor">#FF000000</item>
<item name="mainWindowDarkBackgroundColor">#FF0D1B2A</item>
<item name="mainWindowDarkTextColor">#FFE0E0E0</item>
</style>
<!-- GlobalCrashActivityTheme 普通模式样式 -->
<style name="GlobalCrashActivityTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
<item name="android:statusBarColor">#FF00B322</item>
<item name="colorTittle">#FF000000</item>
<item name="colorTittle">?attr/mainWindowTextColor</item>
<item name="colorTittleBackgound">#FF00B322</item>
<item name="colorText">#FF000000</item>
<item name="colorTextBackgound">#FFF5F5F5</item>
<item name="colorText">?attr/mainWindowTextColor</item>
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
</style>
<!-- DialogStyle 对话框样式 -->