feat: 统一应用文本颜色由主题控制,支持深色/普通模式自适应
主题改造(mymessagemanager):
- values/styles.xml + values-night/styles.xml:6种风格x2模式共12个主题
统一设置 android:textColorPrimary / textColorPrimary / android:textColor / colorTextColor
指向 @color/text_color_primary
- values/colors.xml:text_color_primary=#FF000000(普通模式黑色)
- values-night/colors.xml:text_color_primary=#FF00FF00(深色模式绿色)
- attrs.xml:声明 textColorPrimary 属性解决 AAPT2 编译错误
清除硬编码文本颜色(跨模块):
- 移除 13 个布局文件中的 android:textColor 属性(libappbase/libaes/winboll/appbase)
- 移除 3 个 Java 文件中的 setTextColor(Color.BLACK/white/gray) 调用
- 移除 ComposeSMSActivity / CharsetRefuseEditDialog 中的自定义文本颜色
- 移除 toast_custom_view.xml / view_tts_back.xml 中的 android:textColor
CompoundButton 文本颜色适配:
- ConfirmSwitchView:initView 中读取主题 textColorPrimary 的 ColorStateList 并显式设置
- activity_appsettings.xml:平台 Switch 替换为 ConfirmSwitchView
- fragment_main.xml:Switch 添加 textColor=?android:attr/textColorPrimary
- 10个 RadioButton + 4个 CheckBox 添加 textColor=?android:attr/textColorPrimary
This commit is contained in:
@@ -456,7 +456,6 @@ public final class CrashHandler {
|
||||
int padding = dp2px(16); // 内边距 16dp(适配不同屏幕)
|
||||
message.setPadding(padding, padding, padding, padding);
|
||||
message.setText(mLog); // 设置崩溃日志
|
||||
message.setTextColor(Color.BLACK); // 文字黑色
|
||||
message.setTextIsSelectable(true); // 支持文本选择(便于手动复制)
|
||||
}
|
||||
|
||||
|
||||
@@ -178,7 +178,6 @@ public class GlobalCrashReportView extends LinearLayout {
|
||||
// 设置默认配色
|
||||
mTitleColor = Color.WHITE;
|
||||
mTitleBackgroundColor = Color.BLACK;
|
||||
mTextColor = Color.BLACK;
|
||||
mTextBackgroundColor = Color.WHITE;
|
||||
// 加载布局
|
||||
inflateView();
|
||||
@@ -210,7 +209,7 @@ public class GlobalCrashReportView extends LinearLayout {
|
||||
);
|
||||
mTextColor = typedArray.getColor(
|
||||
R.styleable.GlobalCrashActivity_colorText,
|
||||
Color.BLACK
|
||||
0
|
||||
);
|
||||
mTextBackgroundColor = typedArray.getColor(
|
||||
R.styleable.GlobalCrashActivity_colorTextBackgound, // 注:原拼写错误,保持与 attrs.xml 一致
|
||||
@@ -253,7 +252,7 @@ public class GlobalCrashReportView extends LinearLayout {
|
||||
|
||||
// 配置日志文本控件样式
|
||||
if (mTvReport != null) {
|
||||
mTvReport.setTextColor(mTextColor);
|
||||
if (mTextColor != 0) mTvReport.setTextColor(mTextColor);
|
||||
mTvReport.setBackgroundColor(mTextBackgroundColor);
|
||||
// 可选:设置日志文本换行方式(默认已换行,此处增强可读性)
|
||||
mTvReport.setSingleLine(false);
|
||||
|
||||
@@ -116,7 +116,6 @@ public class LogView extends RelativeLayout {
|
||||
// 获取Log Level spinner实例
|
||||
mLogLevelSpinner = findViewById(cc.winboll.studio.libappbase.R.id.viewlogSpinner1);
|
||||
|
||||
metTagSearch.setTextColor(mContext.getResources().getColor(R.color.white));
|
||||
metTagSearch.addTextChangedListener(new TextWatcher() {
|
||||
|
||||
@Override
|
||||
@@ -248,7 +247,6 @@ public class LogView extends RelativeLayout {
|
||||
}
|
||||
mSelectAllTAGCheckBox.setLayoutParams(layoutParams2);
|
||||
//mSelectAllTAGCheckBox.setPadding(0,0,0,0);
|
||||
mSelectAllTAGCheckBox.setTextColor(mContext.getResources().getColor(R.color.white));
|
||||
mSelectAllTAGCheckBox.setOnClickListener(new View.OnClickListener(){
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -502,7 +500,6 @@ public class LogView extends RelativeLayout {
|
||||
}
|
||||
holder.tvText.setLayoutParams(layoutParams);
|
||||
holder.tvText.setPadding(0,0,0,0);
|
||||
holder.tvText.setTextColor(mContext.getResources().getColor(R.color.white));
|
||||
holder.cbChecked.setChecked(item.isChecked());
|
||||
holder.cbChecked.setLayoutParams(layoutParams);
|
||||
holder.cbChecked.setPadding(0,0,0,0);
|
||||
|
||||
@@ -449,7 +449,6 @@ public class AboutView extends LinearLayout {
|
||||
TextView tvTitle = new TextView(mItemContext);
|
||||
tvTitle.setText(mTitle);
|
||||
tvTitle.setTextSize(16);
|
||||
tvTitle.setTextColor(mItemContext.getResources().getColor(R.color.gray_900));
|
||||
llText.addView(tvTitle);
|
||||
// 内容
|
||||
TextView tvContent = new TextView(mItemContext);
|
||||
|
||||
@@ -154,7 +154,6 @@ public class LogTagSpinner extends Spinner {
|
||||
// 4. 文字对齐(垂直居中+靠左,符合常规 UI 设计)
|
||||
//itemTv.setGravity(View.GRAVITY_CENTER_VERTICAL | View.GRAVITY_START);
|
||||
// 5. 文字颜色(统一深色,可改为项目颜色资源)
|
||||
itemTv.setTextColor(this.mContext.getColor(R.color.white));
|
||||
itemTv.setBackgroundColor(this.mContext.getColor(R.color.btn_gray_normal));
|
||||
// 6. 文字溢出处理(最多 2 行,超出省略,避免长标签换行过多)
|
||||
itemTv.setSingleLine(false);
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="正在监听NFC卡片,请贴近设备检测密钥..."
|
||||
android:textSize="17sp"
|
||||
android:textColor="@android:color/black"
|
||||
android:gravity="center"
|
||||
android:padding="12dp"
|
||||
android:layout_marginBottom="30dp"/>
|
||||
@@ -26,7 +25,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="私钥内容:无"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@android:color/darker_gray"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:maxLines="5"
|
||||
android:ellipsize="end"/>
|
||||
@@ -38,7 +36,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="公钥内容:无"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@android:color/darker_gray"
|
||||
android:layout_marginBottom="40dp"
|
||||
android:maxLines="5"
|
||||
android:ellipsize="end"/>
|
||||
@@ -50,7 +47,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="功能按钮待激活"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@android:color/white"
|
||||
android:backgroundTint="@android:color/holo_blue_light"
|
||||
android:padding="14dp"
|
||||
android:enabled="false"/>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="应用指纹校验"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/gray_900"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="12dp"/>
|
||||
|
||||
@@ -45,8 +44,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textSize="11sp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/gray_900"/>
|
||||
android:gravity="center"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置服务器地址"
|
||||
android:textSize="16sp"
|
||||
android:textColor="#212121"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
@@ -51,8 +50,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="确认"
|
||||
android:textSize="14sp"
|
||||
android:backgroundTint="#2196F3"
|
||||
android:textColor="#FFFFFF"/>
|
||||
android:backgroundTint="#2196F3"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -25,8 +25,7 @@
|
||||
android:id="@+id/tv_app_name_version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/gray_900"/>
|
||||
android:textSize="18sp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_app_desc"
|
||||
@@ -34,8 +33,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_500"/>
|
||||
android:textSize="14sp"/>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
android:layout_height="@dimen/log_button_height"
|
||||
android:textSize="@dimen/log_text_size"
|
||||
android:text="Clean"
|
||||
android:textColor="@color/white"
|
||||
android:backgroundTint="@drawable/btn_gray_bg"
|
||||
android:layout_centerVertical="true"
|
||||
android:id="@+id/viewlogButtonClean"
|
||||
@@ -34,8 +33,7 @@
|
||||
android:layout_toRightOf="@+id/viewlogButtonClean"
|
||||
android:layout_centerVertical="true"
|
||||
android:id="@+id/viewlogTextView1"
|
||||
android:background="@color/btn_gray_normal"
|
||||
android:textColor="@color/black"/>
|
||||
android:background="@color/btn_gray_normal"/>
|
||||
|
||||
<cc.winboll.studio.libappbase.widget.LogTagSpinner
|
||||
android:layout_width="wrap_content"
|
||||
@@ -54,14 +52,13 @@
|
||||
android:text="Selectable"
|
||||
android:background="@color/btn_gray_normal"
|
||||
android:id="@+id/viewlogCheckBoxSelectable"
|
||||
android:padding="@dimen/log_text_padding"
|
||||
android:textColor="@color/white"/>
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:padding="@dimen/log_text_padding"/>
|
||||
|
||||
<Button
|
||||
android:layout_width="@dimen/log_button_width"
|
||||
android:layout_height="@dimen/log_button_height"
|
||||
android:textSize="@dimen/log_text_size"
|
||||
android:textColor="@color/white"
|
||||
android:backgroundTint="@drawable/btn_gray_bg"
|
||||
android:text="Copy"
|
||||
android:layout_alignParentRight="true"
|
||||
@@ -89,6 +86,7 @@
|
||||
android:id="@+id/viewlogCheckBox1"
|
||||
android:background="@drawable/bg_border_round"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:layout_marginRight="5dp"/>
|
||||
|
||||
<EditText
|
||||
@@ -136,7 +134,6 @@
|
||||
android:layout_height="match_parent"
|
||||
android:textSize="@dimen/log_text_size"
|
||||
android:text="Text"
|
||||
android:textColor="#FF00FF00"
|
||||
android:textIsSelectable="true"
|
||||
android:id="@+id/viewlogTextViewLog"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user