Compare commits
31 Commits
appbase-v1
...
aes-v15.20
| Author | SHA1 | Date | |
|---|---|---|---|
| c6c290dcd2 | |||
| e64f3a3e97 | |||
| 632ecc51d8 | |||
| 58b2cace16 | |||
| 3648fa3361 | |||
| 122122ef80 | |||
| 4caeb83e5e | |||
| f36ee0d9b1 | |||
| fe0b2f97ea | |||
| 43da2bc03a | |||
| d26ef7bf7f | |||
| 6baca2779d | |||
| f0fbdaf121 | |||
| a20f29728e | |||
| 9669fe2a8d | |||
| ff8cb2fb42 | |||
| e42219ac5a | |||
| 42112eb677 | |||
| f3114a8121 | |||
| b5b29b8a77 | |||
| 01b0a7736d | |||
| ed5ab24bd3 | |||
| b5c989b5f9 | |||
| 725b336501 | |||
| d20923eaee | |||
| 57e4f8770b | |||
| 3b313e2362 | |||
| 1e96cd02bc | |||
| 270e21ed23 | |||
| 6412554096 | |||
| 286f8513d4 |
@@ -24,13 +24,13 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "cc.winboll.studio.aes"
|
applicationId "cc.winboll.studio.aes"
|
||||||
minSdkVersion 21
|
minSdkVersion 26
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
versionCode 1
|
versionCode 1
|
||||||
// versionName 更新后需要手动设置
|
// versionName 更新后需要手动设置
|
||||||
// 项目模块目录的 build.gradle 文件的 stageCount=0
|
// 项目模块目录的 build.gradle 文件的 stageCount=0
|
||||||
// Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
|
// Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
|
||||||
versionName "15.15"
|
versionName "15.20"
|
||||||
if(true) {
|
if(true) {
|
||||||
versionName = genVersionName("${versionName}")
|
versionName = genVersionName("${versionName}")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sat Apr 25 04:16:42 HKT 2026
|
#Tue May 12 13:11:09 HKT 2026
|
||||||
stageCount=10
|
stageCount=4
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.15
|
baseVersion=15.20
|
||||||
publishVersion=15.15.9
|
publishVersion=15.20.3
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.15.10
|
baseBetaVersion=15.20.4
|
||||||
|
|||||||
16
aes/src/main/res/values-night/styles.xml
Normal file
16
aes/src/main/res/values-night/styles.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<style name="MyAESTheme" parent="AESTheme">
|
||||||
|
<item name="themeDebug">@style/MyDebugActivityTheme</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="MyDebugActivityTheme" parent="Theme.AppCompat.NoActionBar">
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorTittle">@color/mainWindowTextColor</item>
|
||||||
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorText">@color/debugTextColor</item>
|
||||||
|
<item name="colorTextBackgound">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
@@ -1,5 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<style name="MyAESTheme" parent="AESTheme">
|
<style name="MyAESTheme" parent="AESTheme">
|
||||||
|
<item name="themeDebug">@style/MyDebugActivityTheme</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="MyDebugActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorTittle">@color/mainWindowTextColor</item>
|
||||||
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorText">@color/debugTextColor</item>
|
||||||
|
<item name="colorTextBackgound">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Mon May 11 16:56:19 HKT 2026
|
#Tue May 12 09:17:15 HKT 2026
|
||||||
stageCount=7
|
stageCount=10
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=15.20
|
baseVersion=15.20
|
||||||
publishVersion=15.20.6
|
publishVersion=15.20.9
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.20.7
|
baseBetaVersion=15.20.10
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
android:text="关于应用"
|
android:text="关于应用"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onAboutActivity"
|
android:onClick="onAboutActivity"
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
android:text="应用崩溃测试"
|
android:text="应用崩溃测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onCrashTest"
|
android:onClick="onCrashTest"
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
android:text="应用日志测试"
|
android:text="应用日志测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onLogTest"
|
android:onClick="onLogTest"
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
android:text="应用日志测试(新窗口)"
|
android:text="应用日志测试(新窗口)"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onLogTestNewTask"
|
android:onClick="onLogTestNewTask"
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
android:text="应用吐司测试"
|
android:text="应用吐司测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onToastUtilsTest"
|
android:onClick="onToastUtilsTest"
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
android:text="多开窗口"
|
android:text="多开窗口"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onMultiInstance"
|
android:onClick="onMultiInstance"
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
android:text="返回"
|
android:text="返回"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onBack"
|
android:onClick="onBack"
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
android:text="测试崩溃"
|
android:text="测试崩溃"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onTestCrash"
|
android:onClick="onTestCrash"
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
android:text="关于应用"
|
android:text="关于应用"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onAboutActivity"
|
android:onClick="onAboutActivity"
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
android:text="应用崩溃测试"
|
android:text="应用崩溃测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onCrashTest"
|
android:onClick="onCrashTest"
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
android:text="应用日志测试"
|
android:text="应用日志测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onLogTest"
|
android:onClick="onLogTest"
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
android:text="应用日志测试(新窗口)"
|
android:text="应用日志测试(新窗口)"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onLogTestNewTask"
|
android:onClick="onLogTestNewTask"
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
android:text="应用吐司测试"
|
android:text="应用吐司测试"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onToastUtilsTest"
|
android:onClick="onToastUtilsTest"
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
android:text="多开窗口"
|
android:text="多开窗口"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/activityTextColor"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:background="?attr/buttonBackgroundColor"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:paddingVertical="12dp"
|
android:paddingVertical="12dp"
|
||||||
android:layout_marginHorizontal="24dp"
|
android:layout_marginHorizontal="24dp"
|
||||||
android:onClick="onMultiInstance"
|
android:onClick="onMultiInstance"
|
||||||
|
|||||||
@@ -6,8 +6,9 @@
|
|||||||
|
|
||||||
<style name="MyDebugActivityTheme" parent="DebugActivityTheme">
|
<style name="MyDebugActivityTheme" parent="DebugActivityTheme">
|
||||||
<item name="colorTittle">?attr/mainWindowDarkTextColor</item>
|
<item name="colorTittle">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="colorTittleBackgound">@color/buttonBackgroundColor</item>
|
<item name="colorTittleBackgound">?attr/toolbarBackgroundColor</item>
|
||||||
<item name="colorText">?attr/debugTextColor</item>
|
<item name="colorText">?attr/debugTextColor</item>
|
||||||
<item name="colorTextBackgound">?attr/mainWindowDarkBackgroundColor</item>
|
<item name="colorTextBackgound">?attr/mainWindowDarkBackgroundColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -6,8 +6,9 @@
|
|||||||
|
|
||||||
<style name="MyDebugActivityTheme" parent="DebugActivityTheme">
|
<style name="MyDebugActivityTheme" parent="DebugActivityTheme">
|
||||||
<item name="colorTittle">?attr/mainWindowTextColor</item>
|
<item name="colorTittle">?attr/mainWindowTextColor</item>
|
||||||
<item name="colorTittleBackgound">@color/buttonBackgroundColor</item>
|
<item name="colorTittleBackgound">?attr/toolbarBackgroundColor</item>
|
||||||
<item name="colorText">?attr/debugTextColor</item>
|
<item name="colorText">?attr/debugTextColor</item>
|
||||||
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
|
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -93,11 +93,12 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
// 1. 对纯 Java 模块的 JavaCompile 任务配置(强制Java 7)
|
// 1. 对纯 Java 模块的 JavaCompile 任务配置(升级为 Java 11)
|
||||||
tasks.withType(JavaCompile) {
|
tasks.withType(JavaCompile) {
|
||||||
options.compilerArgs << "-parameters"
|
options.compilerArgs << "-parameters"
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_7
|
sourceCompatibility = JavaVersion.VERSION_11
|
||||||
targetCompatibility = JavaVersion.VERSION_1_7
|
targetCompatibility = JavaVersion.VERSION_11
|
||||||
|
// 可选:确保编码一致
|
||||||
options.encoding = "UTF-8"
|
options.encoding = "UTF-8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ android {
|
|||||||
buildToolsVersion "30.0.3"
|
buildToolsVersion "30.0.3"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 26
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,8 +27,6 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// 权限请求框架:https://github.com/getActivity/XXPermissions
|
|
||||||
api 'com.github.getActivity:XXPermissions:18.63'
|
|
||||||
// 下拉控件
|
// 下拉控件
|
||||||
api 'com.baoyz.pullrefreshlayout:library:1.2.0'
|
api 'com.baoyz.pullrefreshlayout:library:1.2.0'
|
||||||
// 拼音搜索
|
// 拼音搜索
|
||||||
@@ -63,7 +61,7 @@ dependencies {
|
|||||||
//annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
|
//annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
|
||||||
|
|
||||||
// WinBoLL库 nexus.winboll.cc 地址
|
// WinBoLL库 nexus.winboll.cc 地址
|
||||||
api 'cc.winboll.studio:libappbase:15.15.19'
|
api 'cc.winboll.studio:libappbase:15.20.9'
|
||||||
// 备用库 jitpack.io 地址
|
// 备用库 jitpack.io 地址
|
||||||
//api 'com.github.ZhanGSKen:APPBase:appbase-v15.15.3'
|
//api 'com.github.ZhanGSKen:APPBase:appbase-v15.15.3'
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sat Apr 25 04:16:30 HKT 2026
|
#Tue May 12 13:11:09 HKT 2026
|
||||||
stageCount=10
|
stageCount=4
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.15
|
baseVersion=15.20
|
||||||
publishVersion=15.15.9
|
publishVersion=15.20.3
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.15.10
|
baseBetaVersion=15.20.4
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import androidx.appcompat.widget.Toolbar;
|
|||||||
import cc.winboll.studio.libaes.R;
|
import cc.winboll.studio.libaes.R;
|
||||||
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
||||||
|
import cc.winboll.studio.libaes.views.ASupportToolbar;
|
||||||
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
|
|
||||||
public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity {
|
public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity {
|
||||||
|
|
||||||
@@ -29,14 +31,17 @@ public class TestASupportToolbarActivity extends AppCompatActivity implements IW
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
LogUtils.d(TAG, "onCreate() start");
|
||||||
AESThemeUtil.applyAppTheme(this);
|
AESThemeUtil.applyAppTheme(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_testasupporttoolbar);
|
setContentView(R.layout.activity_testasupporttoolbar);
|
||||||
|
LogUtils.d(TAG, "setContentView() done");
|
||||||
Toolbar toolbar = findViewById(R.id.activitytestasupporttoolbarASupportToolbar1);
|
Toolbar toolbar = findViewById(R.id.activitytestasupporttoolbarASupportToolbar1);
|
||||||
|
LogUtils.d(TAG, "findViewById() done, toolbar=" + toolbar.getClass().getSimpleName());
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
LogUtils.d(TAG, "setSupportActionBar() done");
|
||||||
getSupportActionBar().setTitle(TAG);
|
getSupportActionBar().setTitle(TAG);
|
||||||
|
LogUtils.d(TAG, "setTitle() done");
|
||||||
|
LogUtils.d(TAG, "onCreate() end");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
33
libaes/src/main/res/values-night/colors.xml
Normal file
33
libaes/src/main/res/values-night/colors.xml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<color name="colorTextColor">#FFFFFFFF</color>
|
||||||
|
<color name="colorPrimary">#FF03AB4E</color>
|
||||||
|
<color name="colorPrimaryDark">#FF027C39</color>
|
||||||
|
<color name="colorAccent">#FF3DDC84</color>
|
||||||
|
<color name="colorText">#FFFFFB8D</color>
|
||||||
|
<color name="colorToastFrame">#FFA9A9A9</color>
|
||||||
|
<color name="colorToastShadow">#FF000000</color>
|
||||||
|
<color name="colorToastBackgroung">#FFFFFFFF</color>
|
||||||
|
<color name="colorAToolbarStartColor">#FF7D3F12</color>
|
||||||
|
<color name="colorAToolbarCenterColor">#FFCC6E2B</color>
|
||||||
|
<color name="colorAToolbarEndColor">#FFF4B98F</color>
|
||||||
|
|
||||||
|
<color name="colorACardShadow">@color/colorPrimaryDark</color>
|
||||||
|
<color name="colorACardFrame">@color/colorPrimary</color>
|
||||||
|
<color name="colorACardBackgroung">@color/colorAccent</color>
|
||||||
|
|
||||||
|
<color name="colorATickProgressBarBackgroung">@color/colorAccent</color>
|
||||||
|
<color name="colorATickProgressBarProgress">@color/colorPrimary</color>
|
||||||
|
|
||||||
|
<color name="colorOHPCTSBackground">@color/colorAccent</color>
|
||||||
|
<color name="colorOHPCTSSecondaryProgress">@color/colorPrimary</color>
|
||||||
|
<color name="colorOHPCTSProgress">@color/colorPrimaryDark</color>
|
||||||
|
|
||||||
|
<color name="toolbarBackgroundColor">#FF03AB4E</color>
|
||||||
|
<color name="toolbarTextColor">#FFFFFFFF</color>
|
||||||
|
<color name="mainWindowBackgroundColor">#FF2C2C2C</color>
|
||||||
|
<color name="mainWindowTextColor">#FFFFFFFF</color>
|
||||||
|
<color name="debugTextColor">#FFFF0000</color>
|
||||||
|
|
||||||
|
</resources>
|
||||||
112
libaes/src/main/res/values-night/styles.xml
Normal file
112
libaes/src/main/res/values-night/styles.xml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<style name="AESTheme" parent="Theme.AppCompat.NoActionBar">
|
||||||
|
<item name="themeDebug">@style/DebugActivityTheme</item>
|
||||||
|
<item name="aboutViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="aboutViewTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="aboutViewTitleColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="aboutViewDividerColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="dialogBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="dialogTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="toolbarBackgroundColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
<item name="textViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="textViewTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="editTextBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="editTextTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="scrollViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="activityBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="activityTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="mainWindowBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="mainWindowTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="mainWindowDarkBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="mainWindowDarkTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
|
||||||
|
<item name="aToolbar">@style/AESAToolbar</item>
|
||||||
|
<item name="aSupportToolbar">@style/AESASupportToolbar</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="DebugActivityTheme" parent="Theme.AppCompat.NoActionBar">
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorTittle">@color/mainWindowTextColor</item>
|
||||||
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorText">@color/debugTextColor</item>
|
||||||
|
<item name="colorTextBackgound">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="AESAToolbar">
|
||||||
|
<item name="attrAToolbarTitleTextColor">@color/colorTextColor</item>
|
||||||
|
<item name="attrAToolbarStartColor">@color/colorPrimaryDark</item>
|
||||||
|
<item name="attrAToolbarCenterColor">@color/colorPrimary</item>
|
||||||
|
<item name="attrAToolbarEndColor">@color/colorAccent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="AESASupportToolbar">
|
||||||
|
<item name="attrASupportToolbarTitleTextColor">@color/colorTextColor</item>
|
||||||
|
<item name="attrASupportToolbarStartColor">@color/colorPrimaryDark</item>
|
||||||
|
<item name="attrASupportToolbarCenterColor">@color/colorPrimary</item>
|
||||||
|
<item name="attrASupportToolbarEndColor">@color/colorAccent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="DepthAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FF0065EC</item>
|
||||||
|
<item name="colorPrimaryDark">#FF004DB4</item>
|
||||||
|
<item name="colorAccent">#FF4A97FF</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="SkyAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FF00A6FF</item>
|
||||||
|
<item name="colorPrimaryDark">#FF007ABB</item>
|
||||||
|
<item name="colorAccent">#FF84D4FF</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="GoldenAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FFF0CA11</item>
|
||||||
|
<item name="colorPrimaryDark">#FFD3AF00</item>
|
||||||
|
<item name="colorAccent">#FFFFE35C</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="BearingAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FF840FFF</item>
|
||||||
|
<item name="colorPrimaryDark">#FF6900D7</item>
|
||||||
|
<item name="colorAccent">#FFBA78FF</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="MemorAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FFFF00F5</item>
|
||||||
|
<item name="colorPrimaryDark">#FFE500DC</item>
|
||||||
|
<item name="colorAccent">#FFFF76FA</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TaoAESTheme" parent="AESTheme">
|
||||||
|
<item name="colorPrimary">#FFACACAC</item>
|
||||||
|
<item name="colorPrimaryDark">#FF898989</item>
|
||||||
|
<item name="colorAccent">#FFD8D8D8</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="NormalDialogStyle" parent="Theme.AppCompat.Dialog">
|
||||||
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
|
<item name="android:windowFrame">@null</item>
|
||||||
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<item name="android:windowIsFloating">true</item>
|
||||||
|
<item name="android:windowIsTranslucent">false</item>
|
||||||
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
|
<item name="android:windowAnimationStyle">@style/cornerDialogAnim</item>
|
||||||
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="centerDialogAnim" parent="android:Animation">
|
||||||
|
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_center</item>
|
||||||
|
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_center</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="cornerDialogAnim" parent="android:Animation">
|
||||||
|
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_corner</item>
|
||||||
|
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_corner</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
<attr name="attrASupportToolbarStartColor"/>
|
<attr name="attrASupportToolbarStartColor"/>
|
||||||
<attr name="attrASupportToolbarCenterColor"/>
|
<attr name="attrASupportToolbarCenterColor"/>
|
||||||
<attr name="attrASupportToolbarEndColor"/>
|
<attr name="attrASupportToolbarEndColor"/>
|
||||||
|
<attr name="android:background"/>
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<declare-styleable name="AButton">
|
<declare-styleable name="AButton">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<!-- 默认方案 -->
|
<color name="colorTextColor">#FF000000</color>
|
||||||
<color name="colorPrimary">#FF03AB4E</color>
|
<color name="colorPrimary">#FF03AB4E</color>
|
||||||
<color name="colorPrimaryDark">#FF027C39</color>
|
<color name="colorPrimaryDark">#FF027C39</color>
|
||||||
<color name="colorAccent">#FF3DDC84</color>
|
<color name="colorAccent">#FF3DDC84</color>
|
||||||
@@ -24,22 +24,10 @@
|
|||||||
<color name="colorOHPCTSSecondaryProgress">@color/colorPrimary</color>
|
<color name="colorOHPCTSSecondaryProgress">@color/colorPrimary</color>
|
||||||
<color name="colorOHPCTSProgress">@color/colorPrimaryDark</color>
|
<color name="colorOHPCTSProgress">@color/colorPrimaryDark</color>
|
||||||
|
|
||||||
<!-- -->
|
<color name="toolbarBackgroundColor">#FF03AB4E</color>
|
||||||
|
<color name="toolbarTextColor">#FFFFFFFF</color>
|
||||||
|
<color name="mainWindowBackgroundColor">#FFFFFFFF</color>
|
||||||
|
<color name="mainWindowTextColor">#FF000000</color>
|
||||||
|
<color name="debugTextColor">#FFFF0000</color>
|
||||||
|
|
||||||
<!-- 调试方案
|
|
||||||
<color name="colorPrimary">#FF727272</color>
|
|
||||||
<color name="colorPrimaryDark">#FF444444</color>
|
|
||||||
<color name="colorAccent">#FF9EA19F</color>
|
|
||||||
|
|
||||||
<color name="colorAToolbarStartColor">#FF4776EB</color>
|
|
||||||
<color name="colorAToolbarCenterColor">#FF0D4BE7</color>
|
|
||||||
<color name="colorAToolbarEndColor">#FF8FA7E3</color>
|
|
||||||
|
|
||||||
<color name="colorACardShadow">#FF22A200</color>
|
|
||||||
<color name="colorACardFrame">#FF3FCC19</color>
|
|
||||||
<color name="colorACardBackgroung">#FF88F16B</color>
|
|
||||||
|
|
||||||
<color name="colorATickProgressBarBackgroung">#FF6DC4E2</color>
|
|
||||||
<color name="colorATickProgressBarProgress">#FF22B0E1</color>
|
|
||||||
-->
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,255 +1,112 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="AESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="AESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
<item name="themeDebug">@style/DebugActivityTheme</item>
|
||||||
<item name="colorPrimary">#FF18B05C</item>
|
<item name="aboutViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
<item name="colorPrimaryDark">#FF008C3F</item>
|
<item name="aboutViewTextColor">@color/mainWindowTextColor</item>
|
||||||
<item name="colorAccent">#FF24DC77</item>
|
<item name="aboutViewTitleColor">@color/mainWindowTextColor</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
<item name="aboutViewDividerColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="dialogBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="dialogTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="toolbarBackgroundColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
<item name="textViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="textViewTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="editTextBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="editTextTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="scrollViewBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="activityBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="activityTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="mainWindowBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="mainWindowTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="mainWindowDarkBackgroundColor">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="mainWindowDarkTextColor">@color/mainWindowTextColor</item>
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
|
||||||
<item name="aToolbar">@style/AESAToolbar</item>
|
<item name="aToolbar">@style/AESAToolbar</item>
|
||||||
<item name="aSupportToolbar">@style/AESASupportToolbar</item>
|
<item name="aSupportToolbar">@style/AESASupportToolbar</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="DebugActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||||
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorTittle">@color/mainWindowTextColor</item>
|
||||||
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
|
<item name="colorText">@color/debugTextColor</item>
|
||||||
|
<item name="colorTextBackgound">@color/mainWindowBackgroundColor</item>
|
||||||
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="AESAToolbar">
|
<style name="AESAToolbar">
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
<item name="attrAToolbarTitleTextColor">@color/colorTextColor</item>
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
<item name="attrAToolbarStartColor">@color/colorPrimaryDark</item>
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
<item name="attrAToolbarCenterColor">@color/colorPrimary</item>
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
<item name="attrAToolbarEndColor">@color/colorAccent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AESASupportToolbar">
|
<style name="AESASupportToolbar">
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
<item name="attrASupportToolbarTitleTextColor">@color/colorTextColor</item>
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
<item name="attrASupportToolbarStartColor">@color/colorPrimaryDark</item>
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
<item name="attrASupportToolbarCenterColor">@color/colorPrimary</item>
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
<item name="attrASupportToolbarEndColor">@color/colorAccent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="DepthAESTheme" parent="AESTheme">
|
<style name="DepthAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF0065EC</item>
|
<item name="colorPrimary">#FF0065EC</item>
|
||||||
<item name="colorPrimaryDark">#FF004DB4</item>
|
<item name="colorPrimaryDark">#FF004DB4</item>
|
||||||
<item name="colorAccent">#FF4A97FF</item>
|
<item name="colorAccent">#FF4A97FF</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="SkyAESTheme" parent="AESTheme">
|
<style name="SkyAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF00A6FF</item>
|
<item name="colorPrimary">#FF00A6FF</item>
|
||||||
<item name="colorPrimaryDark">#FF007ABB</item>
|
<item name="colorPrimaryDark">#FF007ABB</item>
|
||||||
<item name="colorAccent">#FF84D4FF</item>
|
<item name="colorAccent">#FF84D4FF</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="GoldenAESTheme" parent="AESTheme">
|
<style name="GoldenAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FFF0CA11</item>
|
<item name="colorPrimary">#FFF0CA11</item>
|
||||||
<item name="colorPrimaryDark">#FFD3AF00</item>
|
<item name="colorPrimaryDark">#FFD3AF00</item>
|
||||||
<item name="colorAccent">#FFFFE35C</item>
|
<item name="colorAccent">#FFFFE35C</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="BearingAESTheme" parent="AESTheme">
|
<style name="BearingAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF840FFF</item>
|
<item name="colorPrimary">#FF840FFF</item>
|
||||||
<item name="colorPrimaryDark">#FF6900D7</item>
|
<item name="colorPrimaryDark">#FF6900D7</item>
|
||||||
<item name="colorAccent">#FFBA78FF</item>
|
<item name="colorAccent">#FFBA78FF</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="MemorAESTheme" parent="AESTheme">
|
<style name="MemorAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FFFF00F5</item>
|
<item name="colorPrimary">#FFFF00F5</item>
|
||||||
<item name="colorPrimaryDark">#FFE500DC</item>
|
<item name="colorPrimaryDark">#FFE500DC</item>
|
||||||
<item name="colorAccent">#FFFF76FA</item>
|
<item name="colorAccent">#FFFF76FA</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TaoAESTheme" parent="AESTheme">
|
<style name="TaoAESTheme" parent="AESTheme">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FFACACAC</item>
|
<item name="colorPrimary">#FFACACAC</item>
|
||||||
<item name="colorPrimaryDark">#FF898989</item>
|
<item name="colorPrimaryDark">#FF898989</item>
|
||||||
<item name="colorAccent">#FFD8D8D8</item>
|
<item name="colorAccent">#FFD8D8D8</item>
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!--<style name="AESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="NormalDialogStyle" parent="Theme.AppCompat.Light.Dialog">
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/AESAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/AESASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="AESAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="AESASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>-->
|
|
||||||
|
|
||||||
<!--<style name="DepthAESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF2566FE</item>
|
|
||||||
<item name="colorPrimaryDark">#FF1359FF</item>
|
|
||||||
<item name="colorAccent">#FF8BAEFF</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/DepthAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/DepthASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="DepthAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="DepthASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SkyAESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF1E98D4</item>
|
|
||||||
<item name="colorPrimaryDark">#FF046A9C</item>
|
|
||||||
<item name="colorAccent">#FF8CD9FF</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/SkyAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/SkyASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SkyAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="SkyASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="GoldenAESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FFFFE22A</item>
|
|
||||||
<item name="colorPrimaryDark">#FFAE9600</item>
|
|
||||||
<item name="colorAccent">#FFFFED78</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/GoldenAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/GoldenASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="GoldenAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="GoldenASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="MemorAESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FFCE1ED4</item>
|
|
||||||
<item name="colorPrimaryDark">#FFB500BC</item>
|
|
||||||
<item name="colorAccent">#FFE653EB</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/MemorAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/MemorASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="MemorAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="MemorASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TaoAESTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
|
||||||
<item name="colorTextColor">#FF000000</item>
|
|
||||||
<item name="colorPrimary">#FF9F9F9F</item>
|
|
||||||
<item name="colorPrimaryDark">#FF5E5E5E</item>
|
|
||||||
<item name="colorAccent">#FFD9D9D9</item>
|
|
||||||
<item name="android:textColor">#FF000000</item>
|
|
||||||
<item name="aToolbar">@style/TaoAToolbar</item>
|
|
||||||
<item name="aSupportToolbar">@style/TaoASupportToolbar</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TaoAToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrAToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrAToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrAToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="TaoASupportToolbar">
|
|
||||||
<item name="attrASupportToolbarTitleTextColor">?attr/colorTextColor</item>
|
|
||||||
<item name="attrASupportToolbarStartColor">?attr/colorPrimaryDark</item>
|
|
||||||
<item name="attrASupportToolbarCenterColor">?attr/colorPrimary</item>
|
|
||||||
<item name="attrASupportToolbarEndColor">?attr/colorAccent</item>
|
|
||||||
</style>-->
|
|
||||||
|
|
||||||
<!--<style name="AToolbar">
|
|
||||||
<item name="attrAToolbarTitleTextColor">#FF2DDA27</item>
|
|
||||||
<item name="attrAToolbarStartColor">#FF2DDA27</item>
|
|
||||||
<item name="attrAToolbarCenterColor">#FF2DDA27</item>
|
|
||||||
<item name="attrAToolbarEndColor">#FF2DDA27</item>
|
|
||||||
</style>-->
|
|
||||||
|
|
||||||
<!--对话框的样式-->
|
|
||||||
<style name="NormalDialogStyle">
|
|
||||||
<!--对话框背景 -->
|
|
||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
<!--边框 -->
|
|
||||||
<item name="android:windowFrame">@null</item>
|
<item name="android:windowFrame">@null</item>
|
||||||
<!--没有标题 -->
|
|
||||||
<item name="android:windowNoTitle">true</item>
|
<item name="android:windowNoTitle">true</item>
|
||||||
<!-- 是否浮现在Activity之上 -->
|
|
||||||
<item name="android:windowIsFloating">true</item>
|
<item name="android:windowIsFloating">true</item>
|
||||||
<!--背景透明 -->
|
|
||||||
<item name="android:windowIsTranslucent">false</item>
|
<item name="android:windowIsTranslucent">false</item>
|
||||||
<!-- 是否有覆盖 -->
|
|
||||||
<item name="android:windowContentOverlay">@null</item>
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
<!--进出的显示动画 -->
|
|
||||||
<item name="android:windowAnimationStyle">@style/cornerDialogAnim</item>
|
<item name="android:windowAnimationStyle">@style/cornerDialogAnim</item>
|
||||||
<!--背景变暗-->
|
|
||||||
<item name="android:backgroundDimEnabled">true</item>
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
</style>
|
</style>
|
||||||
<!--对话框动画,中间弹出-->
|
|
||||||
<style name="centerDialogAnim" parent="android:Animation">
|
<style name="centerDialogAnim" parent="android:Animation">
|
||||||
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_center</item>
|
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_center</item>
|
||||||
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_center</item>
|
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_center</item>
|
||||||
</style>
|
</style>
|
||||||
<!--对话框动画,角落弹出-->
|
|
||||||
<style name="cornerDialogAnim" parent="android:Animation">
|
<style name="cornerDialogAnim" parent="android:Animation">
|
||||||
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_corner</item>
|
<item name="@android:windowEnterAnimation">@anim/normal_dialog_enter_corner</item>
|
||||||
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_corner</item>
|
<item name="@android:windowExitAnimation">@anim/normal_dialog_exit_corner</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Mon May 11 16:56:19 HKT 2026
|
#Tue May 12 09:16:45 HKT 2026
|
||||||
stageCount=7
|
stageCount=10
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=15.20
|
baseVersion=15.20
|
||||||
publishVersion=15.20.6
|
publishVersion=15.20.9
|
||||||
buildCount=0
|
buildCount=0
|
||||||
baseBetaVersion=15.20.7
|
baseBetaVersion=15.20.10
|
||||||
|
|||||||
@@ -47,6 +47,13 @@
|
|||||||
|
|
||||||
<activity android:name="cc.winboll.studio.libappbase.activities.FTPBackupsActivity"/>
|
<activity android:name="cc.winboll.studio.libappbase.activities.FTPBackupsActivity"/>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name=".utils.ShareLogActivity"
|
||||||
|
android:label="ShareLogActivity"
|
||||||
|
android:exported="true"
|
||||||
|
android:launchMode="singleTask"
|
||||||
|
android:theme="@android:style/Theme.NoDisplay"/>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
@@ -8,6 +8,7 @@ package cc.winboll.studio.libappbase;
|
|||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.TypedArray;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
@@ -248,7 +249,10 @@ public class LogView extends RelativeLayout {
|
|||||||
}
|
}
|
||||||
mSelectAllTAGCheckBox.setLayoutParams(layoutParams2);
|
mSelectAllTAGCheckBox.setLayoutParams(layoutParams2);
|
||||||
//mSelectAllTAGCheckBox.setPadding(0,0,0,0);
|
//mSelectAllTAGCheckBox.setPadding(0,0,0,0);
|
||||||
mSelectAllTAGCheckBox.setTextColor(mContext.getResources().getColor(R.color.white));
|
TypedArray ta1 = mContext.obtainStyledAttributes(new int[] { R.attr.toolbarTextColor });
|
||||||
|
int toolbarTextColor1 = ta1.getColor(0, mContext.getResources().getColor(R.color.white));
|
||||||
|
ta1.recycle();
|
||||||
|
mSelectAllTAGCheckBox.setTextColor(toolbarTextColor1);
|
||||||
mSelectAllTAGCheckBox.setOnClickListener(new View.OnClickListener(){
|
mSelectAllTAGCheckBox.setOnClickListener(new View.OnClickListener(){
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
@@ -502,10 +506,17 @@ public class LogView extends RelativeLayout {
|
|||||||
}
|
}
|
||||||
holder.tvText.setLayoutParams(layoutParams);
|
holder.tvText.setLayoutParams(layoutParams);
|
||||||
holder.tvText.setPadding(0,0,0,0);
|
holder.tvText.setPadding(0,0,0,0);
|
||||||
holder.tvText.setTextColor(mContext.getResources().getColor(R.color.white));
|
TypedArray ta2 = mContext.obtainStyledAttributes(new int[] { R.attr.toolbarTextColor });
|
||||||
|
int toolbarTextColor2 = ta2.getColor(0, mContext.getResources().getColor(R.color.white));
|
||||||
|
ta2.recycle();
|
||||||
|
holder.tvText.setTextColor(toolbarTextColor2);
|
||||||
holder.cbChecked.setChecked(item.isChecked());
|
holder.cbChecked.setChecked(item.isChecked());
|
||||||
holder.cbChecked.setLayoutParams(layoutParams);
|
holder.cbChecked.setLayoutParams(layoutParams);
|
||||||
holder.cbChecked.setPadding(0,0,0,0);
|
holder.cbChecked.setPadding(0,0,0,0);
|
||||||
|
TypedArray ta3 = mContext.obtainStyledAttributes(new int[] { R.attr.toolbarTextColor });
|
||||||
|
int toolbarTextColor3 = ta3.getColor(0, mContext.getResources().getColor(R.color.white));
|
||||||
|
ta3.recycle();
|
||||||
|
holder.cbChecked.setTextColor(toolbarTextColor3);
|
||||||
holder.cbChecked.setOnClickListener(new View.OnClickListener(){
|
holder.cbChecked.setOnClickListener(new View.OnClickListener(){
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,16 +1,23 @@
|
|||||||
package cc.winboll.studio.libappbase.utils;
|
package cc.winboll.studio.libappbase.utils;
|
||||||
|
|
||||||
import android.app.Application;
|
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import cc.winboll.studio.libappbase.CrashHandler;
|
import cc.winboll.studio.libappbase.CrashHandler;
|
||||||
import cc.winboll.studio.libappbase.LogUtils;
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
|
import cc.winboll.studio.libappbase.R;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应用崩溃处理通知实用工具集(类库兼容版)
|
* 应用崩溃处理通知实用工具集(类库兼容版)
|
||||||
@@ -18,7 +25,7 @@ import cc.winboll.studio.libappbase.LogUtils;
|
|||||||
* 适配说明:移除固定包名依赖,通过外部传入宿主包名,支持任意应用集成使用
|
* 适配说明:移除固定包名依赖,通过外部传入宿主包名,支持任意应用集成使用
|
||||||
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
||||||
* @CreateTime 2025/11/29 21:12:00
|
* @CreateTime 2025/11/29 21:12:00
|
||||||
* @EditTime 2026/05/11 15:38:21
|
* @EditTime 2026/05/11 21:55:00
|
||||||
*/
|
*/
|
||||||
public class CrashHandleNotifyUtils {
|
public class CrashHandleNotifyUtils {
|
||||||
|
|
||||||
@@ -34,8 +41,24 @@ public class CrashHandleNotifyUtils {
|
|||||||
private static final int API_LEVEL_ANDROID_12 = 31;
|
private static final int API_LEVEL_ANDROID_12 = 31;
|
||||||
/** PendingIntent.FLAG_IMMUTABLE 常量值(API 31+) */
|
/** PendingIntent.FLAG_IMMUTABLE 常量值(API 31+) */
|
||||||
private static final int FLAG_IMMUTABLE = 0x00000040;
|
private static final int FLAG_IMMUTABLE = 0x00000040;
|
||||||
/** 通知内容最大行数(控制在3行,超出部分省略) */
|
/** 通知摘要最大长度 */
|
||||||
private static final int NOTIFICATION_MAX_LINES = 3;
|
private static final int SUMMARY_MAX_LENGTH = 200;
|
||||||
|
/** 分享日志请求码 */
|
||||||
|
private static final int REQUEST_CODE_SHARE_LOG = 0x002;
|
||||||
|
/** 缓存崩溃日志子目录 */
|
||||||
|
private static final String CRASH_LOG_CACHE_SUBDIR = "crashnotify";
|
||||||
|
/** 缓存崩溃日志文件名 */
|
||||||
|
private static final String CRASH_LOG_CACHE_FILENAME = "crash_log.txt";
|
||||||
|
|
||||||
|
// ====================== 静态成员 ======================
|
||||||
|
private static String sHostPackageName = "";
|
||||||
|
private static String sCrashLogCacheFilePath = "";
|
||||||
|
|
||||||
|
// ====================== 正则表达式定义 ======================
|
||||||
|
private static final String REGEX_EXCEPTION_TYPE = "([\\w.]+Exception|[\\w.]+Error)";
|
||||||
|
private static final String REGEX_EXCEPTION_MESSAGE = "(?<=:\\s)(.+?)(?=\\n|\\r|$)";
|
||||||
|
private static final String REGEX_STACK_TRACE = "\\s+at\\s+([\\w.$]+)\\.([\\w<>]+)\\(([^:]+\\.java):(\\d+)\\)";
|
||||||
|
private static final String REGEX_CAUSE = "(?<=Caused by:\\s)" + REGEX_EXCEPTION_TYPE + "\\s*:";
|
||||||
|
|
||||||
// ====================== 对外核心方法 ======================
|
// ====================== 对外核心方法 ======================
|
||||||
/**
|
/**
|
||||||
@@ -45,18 +68,29 @@ public class CrashHandleNotifyUtils {
|
|||||||
* @param errorLog 崩溃日志内容
|
* @param errorLog 崩溃日志内容
|
||||||
* @param reportCrashActivity 崩溃详情跳转Activity类
|
* @param reportCrashActivity 崩溃详情跳转Activity类
|
||||||
*/
|
*/
|
||||||
public static void handleUncaughtException(final Application hostApp,
|
public static void handleUncaughtException(final android.app.Application hostApp,
|
||||||
final String hostPackageName,
|
final String hostPackageName,
|
||||||
final String errorLog,
|
final String errorLog,
|
||||||
final Class<?> reportCrashActivity) {
|
final Class<?> reportCrashActivity) {
|
||||||
LogUtils.d(TAG, "handleUncaughtException 进入方法");
|
LogUtils.d(TAG, "handleUncaughtException 进入方法");
|
||||||
// 校验入参
|
|
||||||
if (hostApp == null || TextUtils.isEmpty(hostPackageName) || TextUtils.isEmpty(errorLog)) {
|
if (hostApp == null || TextUtils.isEmpty(hostPackageName) || TextUtils.isEmpty(errorLog)) {
|
||||||
LogUtils.e(TAG, "handleUncaughtException 参数为空校验不通过");
|
LogUtils.e(TAG, "handleUncaughtException 参数为空校验不通过");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
sHostPackageName = hostPackageName;
|
||||||
final String hostAppName = getHostAppName(hostApp, hostPackageName);
|
final String hostAppName = getHostAppName(hostApp, hostPackageName);
|
||||||
sendCrashNotification(hostApp, hostPackageName, hostAppName, errorLog, reportCrashActivity);
|
final String crashLogFilePath = saveCrashLogToCache(hostApp, errorLog);
|
||||||
|
if (TextUtils.isEmpty(crashLogFilePath)) {
|
||||||
|
LogUtils.e(TAG, "保存崩溃日志到缓存文件失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sCrashLogCacheFilePath = crashLogFilePath;
|
||||||
|
final Intent shareIntent = new Intent(hostApp, ShareLogActivity.class);
|
||||||
|
shareIntent.putExtra(ShareLogActivity.EXTRA_CRASH_LOG_FILEPATH, crashLogFilePath);
|
||||||
|
shareIntent.putExtra(ShareLogActivity.EXTRA_CRASH_LOG_SUBJECT, "崩溃日志");
|
||||||
|
shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
final PendingIntent sharePendingIntent = createSharePendingIntent(hostApp, shareIntent);
|
||||||
|
sendCrashNotification(hostApp, hostPackageName, hostAppName, errorLog, reportCrashActivity, sharePendingIntent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +99,7 @@ public class CrashHandleNotifyUtils {
|
|||||||
* @param intent 携带崩溃信息Intent
|
* @param intent 携带崩溃信息Intent
|
||||||
* @param reportCrashActivity 崩溃详情Activity
|
* @param reportCrashActivity 崩溃详情Activity
|
||||||
*/
|
*/
|
||||||
public static void handleUncaughtException(final Application hostApp,
|
public static void handleUncaughtException(final android.app.Application hostApp,
|
||||||
final Intent intent,
|
final Intent intent,
|
||||||
final Class<?> reportCrashActivity) {
|
final Class<?> reportCrashActivity) {
|
||||||
LogUtils.d(TAG, "handleUncaughtException 重载方法进入");
|
LogUtils.d(TAG, "handleUncaughtException 重载方法进入");
|
||||||
@@ -78,6 +112,16 @@ public class CrashHandleNotifyUtils {
|
|||||||
handleUncaughtException(hostApp, hostPackageName, errorLog, reportCrashActivity);
|
handleUncaughtException(hostApp, hostPackageName, errorLog, reportCrashActivity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 资源释放
|
||||||
|
* @param hostContext 宿主上下文
|
||||||
|
*/
|
||||||
|
public static void release(final Context hostContext) {
|
||||||
|
LogUtils.d(TAG, "release 执行资源释放");
|
||||||
|
sHostPackageName = "";
|
||||||
|
sCrashLogCacheFilePath = "";
|
||||||
|
}
|
||||||
|
|
||||||
// ====================== 内部工具方法 ======================
|
// ====================== 内部工具方法 ======================
|
||||||
/**
|
/**
|
||||||
* 获取宿主应用名称
|
* 获取宿主应用名称
|
||||||
@@ -96,6 +140,79 @@ public class CrashHandleNotifyUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存崩溃日志到缓存文件
|
||||||
|
* @param hostContext 宿主上下文
|
||||||
|
* @param crashLog 崩溃日志内容
|
||||||
|
* @return 缓存文件路径,失败返回空字符串
|
||||||
|
*/
|
||||||
|
private static String saveCrashLogToCache(final Context hostContext, final String crashLog) {
|
||||||
|
if (hostContext == null || TextUtils.isEmpty(crashLog)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
BufferedReader reader = null;
|
||||||
|
FileOutputStream fos = null;
|
||||||
|
try {
|
||||||
|
final File cacheDir = new File(hostContext.getCacheDir(), CRASH_LOG_CACHE_SUBDIR);
|
||||||
|
if (!cacheDir.exists()) {
|
||||||
|
cacheDir.mkdirs();
|
||||||
|
}
|
||||||
|
final File cacheFile = new File(cacheDir, CRASH_LOG_CACHE_FILENAME);
|
||||||
|
if (cacheFile.exists()) {
|
||||||
|
cacheFile.delete();
|
||||||
|
}
|
||||||
|
cacheFile.createNewFile();
|
||||||
|
fos = new FileOutputStream(cacheFile);
|
||||||
|
fos.write(crashLog.getBytes("UTF-8"));
|
||||||
|
fos.flush();
|
||||||
|
LogUtils.d(TAG, "saveCrashLogToCache 保存崩溃日志到缓存: " + cacheFile.getAbsolutePath());
|
||||||
|
return cacheFile.getAbsolutePath();
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtils.e(TAG, "saveCrashLogToCache 异常", e);
|
||||||
|
return "";
|
||||||
|
} finally {
|
||||||
|
if (reader != null) {
|
||||||
|
try { reader.close(); } catch (Exception e) {}
|
||||||
|
}
|
||||||
|
if (fos != null) {
|
||||||
|
try { fos.close(); } catch (Exception e) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 读取缓存的崩溃日志文件内容
|
||||||
|
* @param hostContext 宿主上下文
|
||||||
|
* @return 日志内容,失败返回空字符串
|
||||||
|
*/
|
||||||
|
private static String readCachedCrashLog(final Context hostContext) {
|
||||||
|
if (hostContext == null || TextUtils.isEmpty(sCrashLogCacheFilePath)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
BufferedReader reader = null;
|
||||||
|
try {
|
||||||
|
final File cacheFile = new File(sCrashLogCacheFilePath);
|
||||||
|
if (!cacheFile.exists()) {
|
||||||
|
LogUtils.w(TAG, "readCachedCrashLog 缓存文件不存在");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
reader = new BufferedReader(new InputStreamReader(new FileInputStream(cacheFile), "UTF-8"));
|
||||||
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
sb.append(line).append("\n");
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtils.e(TAG, "readCachedCrashLog 异常", e);
|
||||||
|
return "";
|
||||||
|
} finally {
|
||||||
|
if (reader != null) {
|
||||||
|
try { reader.close(); } catch (Exception e) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送崩溃系统通知
|
* 发送崩溃系统通知
|
||||||
* @param hostContext 宿主上下文
|
* @param hostContext 宿主上下文
|
||||||
@@ -103,19 +220,20 @@ public class CrashHandleNotifyUtils {
|
|||||||
* @param hostAppName 宿主应用名
|
* @param hostAppName 宿主应用名
|
||||||
* @param errorLog 崩溃日志
|
* @param errorLog 崩溃日志
|
||||||
* @param reportCrashActivity 跳转Activity
|
* @param reportCrashActivity 跳转Activity
|
||||||
|
* @param sharePendingIntent 分享日志PendingIntent
|
||||||
*/
|
*/
|
||||||
private static void sendCrashNotification(final Context hostContext,
|
private static void sendCrashNotification(final Context hostContext,
|
||||||
final String hostPackageName,
|
final String hostPackageName,
|
||||||
final String hostAppName,
|
final String hostAppName,
|
||||||
final String errorLog,
|
final String errorLog,
|
||||||
final Class<?> reportCrashActivity) {
|
final Class<?> reportCrashActivity,
|
||||||
|
final PendingIntent sharePendingIntent) {
|
||||||
final NotificationManager notificationManager =
|
final NotificationManager notificationManager =
|
||||||
(NotificationManager) hostContext.getSystemService(Context.NOTIFICATION_SERVICE);
|
(NotificationManager) hostContext.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
if (notificationManager == null) {
|
if (notificationManager == null) {
|
||||||
LogUtils.e(TAG, "获取NotificationManager失败");
|
LogUtils.e(TAG, "获取NotificationManager失败");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 8.0以上创建通知渠道
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
createCrashNotifyChannel(hostContext, notificationManager);
|
createCrashNotifyChannel(hostContext, notificationManager);
|
||||||
}
|
}
|
||||||
@@ -125,11 +243,30 @@ public class CrashHandleNotifyUtils {
|
|||||||
LogUtils.e(TAG, "构建跳转PendingIntent失败");
|
LogUtils.e(TAG, "构建跳转PendingIntent失败");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Notification notification = buildNotification(hostContext, hostAppName, errorLog, jumpIntent);
|
final Notification notification = buildNotification(hostContext, hostPackageName, hostAppName, errorLog, jumpIntent, sharePendingIntent);
|
||||||
notificationManager.notify(CRASH_NOTIFY_ID, notification);
|
notificationManager.notify(CRASH_NOTIFY_ID, notification);
|
||||||
LogUtils.d(TAG, "崩溃通知发送成功,宿主包名:" + hostPackageName);
|
LogUtils.d(TAG, "崩溃通知发送成功,宿主包名:" + hostPackageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建分享日志PendingIntent
|
||||||
|
* @param hostContext 宿主上下文
|
||||||
|
* @param shareIntent 分享意图
|
||||||
|
* @return PendingIntent实例
|
||||||
|
*/
|
||||||
|
private static PendingIntent createSharePendingIntent(final Context hostContext, final Intent shareIntent) {
|
||||||
|
int flags = PendingIntent.FLAG_UPDATE_CURRENT;
|
||||||
|
if (Build.VERSION.SDK_INT >= API_LEVEL_ANDROID_12) {
|
||||||
|
flags |= FLAG_IMMUTABLE;
|
||||||
|
}
|
||||||
|
return PendingIntent.getActivity(
|
||||||
|
hostContext,
|
||||||
|
REQUEST_CODE_SHARE_LOG,
|
||||||
|
shareIntent,
|
||||||
|
flags
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建通知渠道(适配Android O及以上)
|
* 创建通知渠道(适配Android O及以上)
|
||||||
* @param hostContext 宿主上下文
|
* @param hostContext 宿主上下文
|
||||||
@@ -186,34 +323,40 @@ public class CrashHandleNotifyUtils {
|
|||||||
/**
|
/**
|
||||||
* 构建Notification通知实例
|
* 构建Notification通知实例
|
||||||
* @param hostContext 宿主上下文
|
* @param hostContext 宿主上下文
|
||||||
|
* @param hostPackageName 宿主包名
|
||||||
* @param hostAppName 宿主应用名
|
* @param hostAppName 宿主应用名
|
||||||
* @param errorLog 崩溃日志
|
* @param errorLog 崩溃日志
|
||||||
* @param jumpIntent 点击跳转意图
|
* @param jumpIntent 点击跳转意图
|
||||||
|
* @param shareIntent 分享日志意图
|
||||||
* @return 构建好的Notification
|
* @return 构建好的Notification
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private static Notification buildNotification(final Context hostContext,
|
private static Notification buildNotification(final Context hostContext,
|
||||||
|
final String hostPackageName,
|
||||||
final String hostAppName,
|
final String hostAppName,
|
||||||
final String errorLog,
|
final String errorLog,
|
||||||
final PendingIntent jumpIntent) {
|
final PendingIntent jumpIntent,
|
||||||
|
final PendingIntent shareIntent) {
|
||||||
Notification.Builder builder = new Notification.Builder(hostContext);
|
Notification.Builder builder = new Notification.Builder(hostContext);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
builder.setChannelId(CRASH_NOTIFY_CHANNEL_ID);
|
builder.setChannelId(CRASH_NOTIFY_CHANNEL_ID);
|
||||||
}
|
}
|
||||||
Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle();
|
final String briefInfo = extractBriefInfo(errorLog);
|
||||||
bigTextStyle.setSummaryText("日志已省略,下拉查看完整内容");
|
final Notification.BigTextStyle bigTextStyle = new Notification.BigTextStyle();
|
||||||
bigTextStyle.bigText(errorLog);
|
|
||||||
bigTextStyle.setBigContentTitle(hostAppName + " 崩溃");
|
bigTextStyle.setBigContentTitle(hostAppName + " 崩溃");
|
||||||
|
bigTextStyle.bigText(briefInfo);
|
||||||
|
bigTextStyle.setSummaryText("点击查看详情");
|
||||||
builder.setStyle(bigTextStyle);
|
builder.setStyle(bigTextStyle);
|
||||||
|
|
||||||
builder.setSmallIcon(hostContext.getApplicationInfo().icon)
|
builder.setSmallIcon(hostContext.getApplicationInfo().icon)
|
||||||
.setContentTitle(hostAppName + " 崩溃")
|
.setContentTitle(hostAppName + " 崩溃")
|
||||||
.setContentText(getShortContent(errorLog))
|
.setContentText(briefInfo.split("\n")[0])
|
||||||
.setContentIntent(jumpIntent)
|
.setContentIntent(jumpIntent)
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
.setWhen(System.currentTimeMillis())
|
.setWhen(System.currentTimeMillis())
|
||||||
.setPriority(Notification.PRIORITY_DEFAULT);
|
.setPriority(Notification.PRIORITY_DEFAULT);
|
||||||
|
if (shareIntent != null) {
|
||||||
|
builder.addAction(android.R.drawable.ic_menu_send, "分享日志", shareIntent);
|
||||||
|
}
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
||||||
return builder.build();
|
return builder.build();
|
||||||
} else {
|
} else {
|
||||||
@@ -226,20 +369,75 @@ public class CrashHandleNotifyUtils {
|
|||||||
* @param content 原始日志
|
* @param content 原始日志
|
||||||
* @return 缩略文案
|
* @return 缩略文案
|
||||||
*/
|
*/
|
||||||
private static String getShortContent(final String content) {
|
private static String getShortContent(final String errorLog) {
|
||||||
if (content == null || content.isEmpty()) {
|
if (errorLog == null || errorLog.isEmpty()) {
|
||||||
return "无崩溃日志";
|
return "无崩溃日志";
|
||||||
}
|
}
|
||||||
final int maxLength = 80;
|
final String brief = extractBriefInfo(errorLog);
|
||||||
return content.length() <= maxLength ? content : content.substring(0, maxLength) + "...";
|
final String firstLine = brief.split("\n")[0];
|
||||||
|
if (firstLine.length() > 80) {
|
||||||
|
return firstLine.substring(0, 80) + "...";
|
||||||
|
}
|
||||||
|
return firstLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 资源释放预留方法
|
* 使用正则表达式从崩溃日志中提取简要信息
|
||||||
* @param hostContext 宿主上下文
|
* @param crashLog 完整崩溃日志
|
||||||
|
* @return 简要崩溃信息
|
||||||
*/
|
*/
|
||||||
public static void release(final Context hostContext) {
|
private static String extractBriefInfo(final String crashLog) {
|
||||||
LogUtils.d(TAG, "CrashHandleNotifyUtils 执行资源释放");
|
if (crashLog == null || crashLog.isEmpty()) {
|
||||||
|
return "无崩溃日志";
|
||||||
|
}
|
||||||
|
final StringBuilder brief = new StringBuilder();
|
||||||
|
try {
|
||||||
|
java.util.regex.Pattern exceptionPattern = java.util.regex.Pattern.compile(REGEX_EXCEPTION_TYPE);
|
||||||
|
java.util.regex.Matcher exceptionMatcher = exceptionPattern.matcher(crashLog);
|
||||||
|
if (exceptionMatcher.find()) {
|
||||||
|
brief.append(exceptionMatcher.group(1));
|
||||||
|
}
|
||||||
|
java.util.regex.Pattern messagePattern = java.util.regex.Pattern.compile(REGEX_EXCEPTION_MESSAGE);
|
||||||
|
java.util.regex.Matcher messageMatcher = messagePattern.matcher(crashLog);
|
||||||
|
if (messageMatcher.find()) {
|
||||||
|
String message = messageMatcher.group(1).trim();
|
||||||
|
if (message.length() > 100) {
|
||||||
|
message = message.substring(0, 100) + "...";
|
||||||
|
}
|
||||||
|
if (brief.length() > 0) {
|
||||||
|
brief.append(" - ");
|
||||||
|
}
|
||||||
|
brief.append(message);
|
||||||
|
}
|
||||||
|
java.util.regex.Pattern causePattern = java.util.regex.Pattern.compile(REGEX_CAUSE);
|
||||||
|
java.util.regex.Matcher causeMatcher = causePattern.matcher(crashLog);
|
||||||
|
if (causeMatcher.find()) {
|
||||||
|
if (brief.length() > 0) {
|
||||||
|
brief.append("\n");
|
||||||
|
}
|
||||||
|
brief.append("原因: ").append(causeMatcher.group(1));
|
||||||
|
}
|
||||||
|
java.util.regex.Pattern stackPattern = java.util.regex.Pattern.compile(REGEX_STACK_TRACE);
|
||||||
|
java.util.regex.Matcher stackMatcher = stackPattern.matcher(crashLog);
|
||||||
|
int lineCount = 0;
|
||||||
|
while (stackMatcher.find() && lineCount < 3) {
|
||||||
|
if (brief.length() > 0) {
|
||||||
|
brief.append("\n");
|
||||||
|
}
|
||||||
|
brief.append(" at ").append(stackMatcher.group(1)).append(".")
|
||||||
|
.append(stackMatcher.group(2)).append("(")
|
||||||
|
.append(stackMatcher.group(3)).append(":")
|
||||||
|
.append(stackMatcher.group(4)).append(")");
|
||||||
|
lineCount++;
|
||||||
|
}
|
||||||
|
if (brief.length() == 0) {
|
||||||
|
brief.append(crashLog.length() > SUMMARY_MAX_LENGTH ? crashLog.substring(0, SUMMARY_MAX_LENGTH) + "..." : crashLog);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtils.e(TAG, "提取崩溃简要信息失败", e);
|
||||||
|
brief.setLength(0);
|
||||||
|
brief.append(crashLog.length() > SUMMARY_MAX_LENGTH ? crashLog.substring(0, SUMMARY_MAX_LENGTH) + "..." : crashLog);
|
||||||
|
}
|
||||||
|
return brief.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,91 @@
|
|||||||
|
package cc.winboll.studio.libappbase.utils;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享崩溃日志窗口类
|
||||||
|
* @Author ZhanGSKen<zhangsken@qq.com>
|
||||||
|
* @CreateTime 2026/05/11 22:30:00
|
||||||
|
*/
|
||||||
|
public class ShareLogActivity extends Activity {
|
||||||
|
|
||||||
|
public static final String TAG = "ShareLogActivity";
|
||||||
|
public static final String EXTRA_CRASH_LOG_FILEPATH = "crash_log_filepath";
|
||||||
|
public static final String EXTRA_CRASH_LOG_SUBJECT = "crash_log_subject";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(final Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
Log.d(TAG, "onCreate 进入方法");
|
||||||
|
|
||||||
|
final Intent intent = getIntent();
|
||||||
|
if (intent == null) {
|
||||||
|
Log.e(TAG, "onCreate intent 为空");
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String crashLogFilePath = intent.getStringExtra(EXTRA_CRASH_LOG_FILEPATH);
|
||||||
|
if (crashLogFilePath == null || crashLogFilePath.isEmpty()) {
|
||||||
|
Log.e(TAG, "onCreate crashLogFilePath 为空");
|
||||||
|
Toast.makeText(this, "日志文件路径无效", Toast.LENGTH_SHORT).show();
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String subject = intent.getStringExtra(EXTRA_CRASH_LOG_SUBJECT);
|
||||||
|
handleShareCrashLog(crashLogFilePath, subject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleShareCrashLog(final String crashLogFilePath, final String subject) {
|
||||||
|
Log.d(TAG, "handleShareCrashLog crashLogFilePath = " + crashLogFilePath);
|
||||||
|
|
||||||
|
final File crashLogFile = new File(crashLogFilePath);
|
||||||
|
if (!crashLogFile.exists()) {
|
||||||
|
Log.e(TAG, "handleShareCrashLog 文件不存在");
|
||||||
|
Toast.makeText(this, "日志文件不存在", Toast.LENGTH_SHORT).show();
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BufferedReader reader = null;
|
||||||
|
try {
|
||||||
|
reader = new BufferedReader(new InputStreamReader(new FileInputStream(crashLogFile), "UTF-8"));
|
||||||
|
final StringBuilder sb = new StringBuilder();
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
sb.append(line).append("\n");
|
||||||
|
}
|
||||||
|
final String logContent = sb.toString();
|
||||||
|
|
||||||
|
final Intent shareIntent = new Intent(Intent.ACTION_SEND);
|
||||||
|
shareIntent.setType("text/plain");
|
||||||
|
shareIntent.putExtra(Intent.EXTRA_TEXT, logContent);
|
||||||
|
if (subject != null && !subject.isEmpty()) {
|
||||||
|
shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
|
||||||
|
} else {
|
||||||
|
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "崩溃日志");
|
||||||
|
}
|
||||||
|
|
||||||
|
startActivity(Intent.createChooser(shareIntent, "分享日志到"));
|
||||||
|
Log.d(TAG, "handleShareCrashLog 分享成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "handleShareCrashLog 异常", e);
|
||||||
|
Toast.makeText(this, "分享失败: " + e.getMessage(), Toast.LENGTH_SHORT).show();
|
||||||
|
} finally {
|
||||||
|
if (reader != null) {
|
||||||
|
try { reader.close(); } catch (Exception e) {}
|
||||||
|
}
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package cc.winboll.studio.libappbase.widget;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.content.res.TypedArray;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -153,9 +154,12 @@ public class LogTagSpinner extends Spinner {
|
|||||||
itemTv.setPadding(mTextPadding, 0, mTextPadding, 0);
|
itemTv.setPadding(mTextPadding, 0, mTextPadding, 0);
|
||||||
// 4. 文字对齐(垂直居中+靠左,符合常规 UI 设计)
|
// 4. 文字对齐(垂直居中+靠左,符合常规 UI 设计)
|
||||||
//itemTv.setGravity(View.GRAVITY_CENTER_VERTICAL | View.GRAVITY_START);
|
//itemTv.setGravity(View.GRAVITY_CENTER_VERTICAL | View.GRAVITY_START);
|
||||||
// 5. 文字颜色(统一深色,可改为项目颜色资源)
|
// 5. 文字颜色(使用主题属性 ?attr/toolbarTextColor)
|
||||||
itemTv.setTextColor(this.mContext.getColor(R.color.white));
|
TypedArray ta = mContext.obtainStyledAttributes(new int[] { R.attr.toolbarTextColor });
|
||||||
itemTv.setBackgroundColor(this.mContext.getColor(R.color.btn_gray_normal));
|
int toolbarTextColor = ta.getColor(0, mContext.getResources().getColor(R.color.white));
|
||||||
|
ta.recycle();
|
||||||
|
itemTv.setTextColor(toolbarTextColor);
|
||||||
|
itemTv.setBackgroundColor(this.mContext.getResources().getColor(R.color.btn_gray_normal));
|
||||||
// 6. 文字溢出处理(最多 2 行,超出省略,避免长标签换行过多)
|
// 6. 文字溢出处理(最多 2 行,超出省略,避免长标签换行过多)
|
||||||
itemTv.setSingleLine(false);
|
itemTv.setSingleLine(false);
|
||||||
itemTv.setMaxLines(2);
|
itemTv.setMaxLines(2);
|
||||||
|
|||||||
@@ -50,8 +50,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="功能按钮待激活"
|
android:text="功能按钮待激活"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/buttonTextColor"
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:backgroundTint="?attr/buttonBackgroundColor"
|
android:backgroundTint="?attr/toolbarBackgroundColor"
|
||||||
android:padding="14dp"
|
android:padding="14dp"
|
||||||
android:enabled="false"/>
|
android:enabled="false"/>
|
||||||
|
|
||||||
|
|||||||
@@ -53,8 +53,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="确认"
|
android:text="确认"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:backgroundTint="?attr/buttonBackgroundColor"
|
android:backgroundTint="?attr/toolbarBackgroundColor"
|
||||||
android:textColor="?attr/buttonTextColor"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:id="@+id/viewlogtagCheckBox1"/>
|
android:id="@+id/viewlogtagCheckBox1"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
android:text="Clean"
|
android:text="Clean"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:backgroundTint="?attr/colorTittleBackgound"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:id="@+id/viewlogButtonClean"
|
android:id="@+id/viewlogButtonClean"
|
||||||
android:layout_marginLeft="5dp"/>
|
android:layout_marginLeft="5dp"/>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:id="@+id/viewlogTextView1"
|
android:id="@+id/viewlogTextView1"
|
||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:textColor="?attr/colorText"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
<cc.winboll.studio.libappbase.widget.LogTagSpinner
|
<cc.winboll.studio.libappbase.widget.LogTagSpinner
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -56,14 +56,14 @@
|
|||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:id="@+id/viewlogCheckBoxSelectable"
|
android:id="@+id/viewlogCheckBoxSelectable"
|
||||||
android:padding="@dimen/log_text_padding"
|
android:padding="@dimen/log_text_padding"
|
||||||
android:textColor="?attr/colorText"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="@dimen/log_button_width"
|
android:layout_width="@dimen/log_button_width"
|
||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:backgroundTint="?attr/colorTittleBackgound"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:text="Copy"
|
android:text="Copy"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:id="@+id/viewlogCheckBox1"
|
android:id="@+id/viewlogCheckBox1"
|
||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:layout_marginLeft="5dp"
|
android:layout_marginLeft="5dp"
|
||||||
android:layout_marginRight="5dp"/>
|
android:layout_marginRight="5dp"/>
|
||||||
|
|
||||||
|
|||||||
@@ -50,8 +50,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="功能按钮待激活"
|
android:text="功能按钮待激活"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/buttonTextColor"
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:backgroundTint="?attr/buttonBackgroundColor"
|
android:backgroundTint="?attr/toolbarBackgroundColor"
|
||||||
android:padding="14dp"
|
android:padding="14dp"
|
||||||
android:enabled="false"/>
|
android:enabled="false"/>
|
||||||
|
|
||||||
|
|||||||
@@ -53,8 +53,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="确认"
|
android:text="确认"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:backgroundTint="?attr/buttonBackgroundColor"
|
android:backgroundTint="?attr/toolbarBackgroundColor"
|
||||||
android:textColor="?attr/buttonTextColor"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:id="@+id/viewlogtagCheckBox1"/>
|
android:id="@+id/viewlogtagCheckBox1"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
27
libappbase/src/main/res/layout/notification_crash.xml
Normal file
27
libappbase/src/main/res/layout/notification_crash.xml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="12dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/notification_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textColor="#333333"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="end" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/notification_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textColor="#666666"
|
||||||
|
android:minHeight="200dp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="12dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/notification_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textColor="#333333"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="end" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/notification_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:textColor="#666666"
|
||||||
|
android:scrollbars="vertical" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
android:text="Clean"
|
android:text="Clean"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:backgroundTint="?attr/colorTittleBackgound"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:id="@+id/viewlogButtonClean"
|
android:id="@+id/viewlogButtonClean"
|
||||||
android:layout_marginLeft="5dp"/>
|
android:layout_marginLeft="5dp"/>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:id="@+id/viewlogTextView1"
|
android:id="@+id/viewlogTextView1"
|
||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:textColor="?attr/colorText"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
<cc.winboll.studio.libappbase.widget.LogTagSpinner
|
<cc.winboll.studio.libappbase.widget.LogTagSpinner
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -56,14 +56,14 @@
|
|||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:id="@+id/viewlogCheckBoxSelectable"
|
android:id="@+id/viewlogCheckBoxSelectable"
|
||||||
android:padding="@dimen/log_text_padding"
|
android:padding="@dimen/log_text_padding"
|
||||||
android:textColor="?attr/colorText"/>
|
android:textColor="?attr/toolbarTextColor"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="@dimen/log_button_width"
|
android:layout_width="@dimen/log_button_width"
|
||||||
android:layout_height="@dimen/log_button_height"
|
android:layout_height="@dimen/log_button_height"
|
||||||
android:textSize="@dimen/log_text_size"
|
android:textSize="@dimen/log_text_size"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/activityTextColor"
|
||||||
android:backgroundTint="?attr/colorTittleBackgound"
|
android:background="?attr/toolbarBackgroundColor"
|
||||||
android:text="Copy"
|
android:text="Copy"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:id="@+id/viewlogCheckBox1"
|
android:id="@+id/viewlogCheckBox1"
|
||||||
android:background="?attr/colorTittleBackgound"
|
android:background="?attr/colorTittleBackgound"
|
||||||
android:textColor="?attr/colorText"
|
android:textColor="?attr/toolbarTextColor"
|
||||||
android:layout_marginLeft="5dp"
|
android:layout_marginLeft="5dp"
|
||||||
android:layout_marginRight="5dp"/>
|
android:layout_marginRight="5dp"/>
|
||||||
|
|
||||||
|
|||||||
@@ -20,11 +20,7 @@
|
|||||||
<attr name="aboutViewDividerColor" format="color" />
|
<attr name="aboutViewDividerColor" format="color" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<!-- ButtonStyle 样式属性 -->
|
|
||||||
<declare-styleable name="ButtonStyle">
|
|
||||||
<attr name="buttonBackgroundColor" format="color" />
|
|
||||||
<attr name="buttonTextColor" format="color" />
|
|
||||||
</declare-styleable>
|
|
||||||
|
|
||||||
<!-- DialogStyle 样式属性 -->
|
<!-- DialogStyle 样式属性 -->
|
||||||
<declare-styleable name="DialogStyle">
|
<declare-styleable name="DialogStyle">
|
||||||
|
|||||||
@@ -63,7 +63,9 @@
|
|||||||
<!-- ============== 主题颜色 ============== -->
|
<!-- ============== 主题颜色 ============== -->
|
||||||
<color name="mainWindowBackgroundColor">#FF0D1B2A</color>
|
<color name="mainWindowBackgroundColor">#FF0D1B2A</color>
|
||||||
<color name="mainWindowTextColor">#FFE0E0E0</color>
|
<color name="mainWindowTextColor">#FFE0E0E0</color>
|
||||||
<color name="buttonBackgroundColor">#FF1E3A5F</color>
|
<color name="toolbarTextColor">#FFE0E0E0</color>
|
||||||
|
<color name="toolbarBackgroundColor">#FF1E3A5F</color>
|
||||||
|
|
||||||
<color name="debugTextColor">#FF00FF00</color>
|
<color name="debugTextColor">#FF00FF00</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -8,12 +8,12 @@
|
|||||||
<item name="aboutViewTextColor">?attr/mainWindowDarkTextColor</item>
|
<item name="aboutViewTextColor">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="aboutViewTitleColor">?attr/mainWindowDarkTextColor</item>
|
<item name="aboutViewTitleColor">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="aboutViewDividerColor">?attr/mainWindowTextColor</item>
|
<item name="aboutViewDividerColor">?attr/mainWindowTextColor</item>
|
||||||
<item name="buttonBackgroundColor">@color/buttonBackgroundColor</item>
|
|
||||||
<item name="buttonTextColor">?attr/mainWindowDarkTextColor</item>
|
|
||||||
<item name="dialogBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
<item name="dialogBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
||||||
<item name="dialogTextColor">?attr/mainWindowDarkTextColor</item>
|
<item name="dialogTextColor">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="toolbarBackgroundColor">?attr/buttonBackgroundColor</item>
|
<item name="toolbarBackgroundColor">@color/toolbarBackgroundColor</item>
|
||||||
<item name="toolbarTextColor">?attr/mainWindowDarkTextColor</item>
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
<item name="textViewBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
<item name="textViewBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
||||||
<item name="textViewTextColor">?attr/mainWindowDarkTextColor</item>
|
<item name="textViewTextColor">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="editTextBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
<item name="editTextBackgroundColor">?attr/mainWindowDarkBackgroundColor</item>
|
||||||
@@ -29,12 +29,14 @@
|
|||||||
|
|
||||||
<!-- DebugActivityTheme 深色模式样式 -->
|
<!-- DebugActivityTheme 深色模式样式 -->
|
||||||
<style name="DebugActivityTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
|
<style name="DebugActivityTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
|
||||||
<item name="android:statusBarColor">@color/mainWindowBackgroundColor</item>
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
<item name="colorTittle">?attr/mainWindowDarkTextColor</item>
|
<item name="colorTittle">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="colorTittleBackgound">@color/buttonBackgroundColor</item>
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
<item name="colorText">?attr/debugTextColor</item>
|
<item name="colorText">?attr/debugTextColor</item>
|
||||||
<item name="colorTextBackgound">?attr/mainWindowDarkBackgroundColor</item>
|
<item name="colorTextBackgound">?attr/mainWindowDarkBackgroundColor</item>
|
||||||
<item name="debugTextColor">@color/debugTextColor</item>
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- DialogStyle 对话框样式 -->
|
<!-- DialogStyle 对话框样式 -->
|
||||||
|
|||||||
@@ -26,11 +26,7 @@
|
|||||||
<attr name="aboutViewDividerColor" format="color" />
|
<attr name="aboutViewDividerColor" format="color" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<!-- ButtonStyle 样式属性 -->
|
|
||||||
<declare-styleable name="ButtonStyle">
|
|
||||||
<attr name="buttonBackgroundColor" format="color" />
|
|
||||||
<attr name="buttonTextColor" format="color" />
|
|
||||||
</declare-styleable>
|
|
||||||
|
|
||||||
<!-- DialogStyle 样式属性 -->
|
<!-- DialogStyle 样式属性 -->
|
||||||
<declare-styleable name="DialogStyle">
|
<declare-styleable name="DialogStyle">
|
||||||
|
|||||||
@@ -63,7 +63,9 @@
|
|||||||
<!-- ============== 主题颜色 ============== -->
|
<!-- ============== 主题颜色 ============== -->
|
||||||
<color name="mainWindowBackgroundColor">#FFF5F5F5</color>
|
<color name="mainWindowBackgroundColor">#FFF5F5F5</color>
|
||||||
<color name="mainWindowTextColor">#FF000000</color>
|
<color name="mainWindowTextColor">#FF000000</color>
|
||||||
<color name="buttonBackgroundColor">#FF00B322</color>
|
<color name="toolbarTextColor">#FF000000</color>
|
||||||
|
<color name="toolbarBackgroundColor">#FF00B322</color>
|
||||||
|
|
||||||
<color name="debugTextColor">#FF808080</color>
|
<color name="debugTextColor">#FF808080</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -8,12 +8,12 @@
|
|||||||
<item name="aboutViewTextColor">?attr/mainWindowTextColor</item>
|
<item name="aboutViewTextColor">?attr/mainWindowTextColor</item>
|
||||||
<item name="aboutViewTitleColor">?attr/mainWindowTextColor</item>
|
<item name="aboutViewTitleColor">?attr/mainWindowTextColor</item>
|
||||||
<item name="aboutViewDividerColor">?attr/mainWindowDarkTextColor</item>
|
<item name="aboutViewDividerColor">?attr/mainWindowDarkTextColor</item>
|
||||||
<item name="buttonBackgroundColor">@color/buttonBackgroundColor</item>
|
|
||||||
<item name="buttonTextColor">?attr/mainWindowTextColor</item>
|
|
||||||
<item name="dialogBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
<item name="dialogBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
||||||
<item name="dialogTextColor">?attr/mainWindowTextColor</item>
|
<item name="dialogTextColor">?attr/mainWindowTextColor</item>
|
||||||
<item name="toolbarBackgroundColor">?attr/buttonBackgroundColor</item>
|
<item name="toolbarBackgroundColor">@color/toolbarBackgroundColor</item>
|
||||||
<item name="toolbarTextColor">?attr/mainWindowTextColor</item>
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
<item name="textViewBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
<item name="textViewBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
||||||
<item name="textViewTextColor">?attr/mainWindowTextColor</item>
|
<item name="textViewTextColor">?attr/mainWindowTextColor</item>
|
||||||
<item name="editTextBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
<item name="editTextBackgroundColor">?attr/mainWindowBackgroundColor</item>
|
||||||
@@ -29,12 +29,14 @@
|
|||||||
|
|
||||||
<!-- DebugActivityTheme 普通模式样式 -->
|
<!-- DebugActivityTheme 普通模式样式 -->
|
||||||
<style name="DebugActivityTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
|
<style name="DebugActivityTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
|
||||||
<item name="android:statusBarColor">@color/buttonBackgroundColor</item>
|
<item name="android:statusBarColor">@color/toolbarBackgroundColor</item>
|
||||||
<item name="colorTittle">?attr/mainWindowTextColor</item>
|
<item name="colorTittle">?attr/mainWindowTextColor</item>
|
||||||
<item name="colorTittleBackgound">@color/buttonBackgroundColor</item>
|
<item name="colorTittleBackgound">@color/toolbarBackgroundColor</item>
|
||||||
<item name="colorText">?attr/debugTextColor</item>
|
<item name="colorText">?attr/debugTextColor</item>
|
||||||
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
|
<item name="colorTextBackgound">?attr/mainWindowBackgroundColor</item>
|
||||||
<item name="debugTextColor">@color/debugTextColor</item>
|
<item name="debugTextColor">@color/debugTextColor</item>
|
||||||
|
<item name="toolbarTextColor">@color/toolbarTextColor</item>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- DialogStyle 对话框样式 -->
|
<!-- DialogStyle 对话框样式 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user