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:
@@ -334,13 +334,6 @@ public class ComposeSMSActivity extends WinBoLLActivity implements IWinBoLLActiv
|
||||
mlvContracts.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||
// 选中时可添加额外反馈(如改变文本颜色,可选)
|
||||
if (view != null) {
|
||||
TextView tvName = (TextView) view.findViewById(R.id.listviewcontractsTextView1);
|
||||
TextView tvPhone = (TextView) view.findViewById(R.id.listviewcontractsTextView2);
|
||||
if (tvName != null) tvName.setTextColor(getResources().getColor(R.color.white));
|
||||
if (tvPhone != null) tvPhone.setTextColor(getResources().getColor(R.color.white));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,7 +2,6 @@ package cc.winboll.studio.mymessagemanager.dialogs;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
@@ -68,7 +67,6 @@ public class CharsetRefuseEditDialog extends Dialog {
|
||||
TextView titleTv = new TextView(getContext());
|
||||
titleTv.setText("拒绝显示字符集编辑");
|
||||
titleTv.setTextSize(18);
|
||||
titleTv.setTextColor(Color.BLACK);
|
||||
titleTv.setGravity(Gravity.CENTER);
|
||||
titleTv.setPadding(0, 0, 0, 20); // 标题与编辑框间距
|
||||
rootLayout.addView(titleTv);
|
||||
@@ -100,7 +98,6 @@ public class CharsetRefuseEditDialog extends Dialog {
|
||||
TextView cancelBtn = new TextView(getContext());
|
||||
cancelBtn.setText("取消");
|
||||
cancelBtn.setTextSize(16);
|
||||
cancelBtn.setTextColor(Color.parseColor("#666666"));
|
||||
cancelBtn.setPadding(20, 10, 20, 10);
|
||||
cancelBtn.setOnClickListener(new View.OnClickListener(){
|
||||
|
||||
@@ -115,7 +112,6 @@ public class CharsetRefuseEditDialog extends Dialog {
|
||||
TextView confirmBtn = new TextView(getContext());
|
||||
confirmBtn.setText("确定");
|
||||
confirmBtn.setTextSize(16);
|
||||
confirmBtn.setTextColor(Color.parseColor("#0066CC"));
|
||||
confirmBtn.setPadding(20, 10, 20, 10);
|
||||
confirmBtn.setOnClickListener(new View.OnClickListener(){
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ package cc.winboll.studio.mymessagemanager.views;
|
||||
* @Date 2023/07/25 13:37:55
|
||||
*/
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.Switch;
|
||||
@@ -37,13 +39,13 @@ public class ConfirmSwitchView extends Switch {
|
||||
initView(context);
|
||||
}
|
||||
|
||||
void initView(Context context) {
|
||||
mContext = context;
|
||||
/*TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.SMSView, 0, 0);
|
||||
colorInbox = a.getColor(R.styleable.SMSView_attrSMSViewInboxColor, 0);
|
||||
colorSend = a.getColor(R.styleable.SMSView_attrSMSViewSendColor, 0);
|
||||
a.recycle();*/
|
||||
}
|
||||
void initView(Context context) {
|
||||
mContext = context;
|
||||
TypedArray a = context.obtainStyledAttributes(new int[]{android.R.attr.textColorPrimary});
|
||||
ColorStateList csl = a.getColorStateList(0);
|
||||
if (csl != null) setTextColor(csl);
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOnClickListener(final View.OnClickListener l) {
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
android:background="#999999"
|
||||
android:layout_marginBottom="8dp"/>
|
||||
|
||||
<Switch
|
||||
<cc.winboll.studio.mymessagemanager.views.ConfirmSwitchView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:text="回收站短信保护式预览开关:"
|
||||
@@ -153,7 +153,8 @@
|
||||
android:text="简洁模式(SMSRecycleActivity)"
|
||||
android:id="@+id/activityappsettingsRadioButton1"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="14sp"/>
|
||||
android:textSize="14sp"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<RadioButton
|
||||
android:layout_width="match_parent"
|
||||
@@ -161,7 +162,8 @@
|
||||
android:text="自由模式(SMSRecycle2Activity)"
|
||||
android:id="@+id/activityappsettingsRadioButton2"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="14sp"/>
|
||||
android:textSize="14sp"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
</RadioGroup>
|
||||
|
||||
@@ -228,7 +230,7 @@
|
||||
android:layout_marginHorizontal="8dp"
|
||||
android:textSize="13sp"/>
|
||||
|
||||
<Switch
|
||||
<cc.winboll.studio.mymessagemanager.views.ConfirmSwitchView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/activityappsettingsSwitch1"/>
|
||||
|
||||
@@ -53,20 +53,23 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Accept"
|
||||
android:id="@+id/activitysmsacceptrulesettingRadioButton1"
|
||||
android:onClick="onAcceptRuleType"/>
|
||||
android:onClick="onAcceptRuleType"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<RadioButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Refuse"
|
||||
android:id="@+id/activitysmsacceptrulesettingRadioButton2"
|
||||
android:onClick="onRefuseRuleType"/>
|
||||
android:onClick="onRefuseRuleType"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Enable"
|
||||
android:id="@+id/activitysmsacceptrulesettingCheckBox1"/>
|
||||
android:id="@+id/activitysmsacceptrulesettingCheckBox1"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -34,19 +34,22 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Accept"
|
||||
android:id="@+id/listviewsmsacceptruleRadioButton1"/>
|
||||
android:id="@+id/listviewsmsacceptruleRadioButton1"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<RadioButton
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Refuse"
|
||||
android:id="@+id/listviewsmsacceptruleRadioButton2"/>
|
||||
android:id="@+id/listviewsmsacceptruleRadioButton2"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/listviewsmsacceptruleCheckBox1"
|
||||
android:text="Enable"/>
|
||||
android:text="Enable"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Enable"
|
||||
android:id="@+id/listviewsmsacceptrulesimpleCheckBox1"
|
||||
android:enabled="false"/>
|
||||
android:enabled="false"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
android:textStyle="bold"
|
||||
android:textColor="#FF000000"/>
|
||||
android:textStyle="bold"/>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
@@ -29,8 +28,7 @@
|
||||
android:id="@android:id/message"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:textColor="#FF000000"/>
|
||||
android:layout_margin="10dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="#FF000000"
|
||||
android:textStyle="bold"
|
||||
android:textStyle="bold"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||
|
||||
<ImageView
|
||||
@@ -34,8 +33,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Click To Stop TTS Play"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="#FF000000"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
7
mymessagemanager/src/main/res/values-night/colors.xml
Normal file
7
mymessagemanager/src/main/res/values-night/colors.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="text_color_primary">#FF00FF00</color>
|
||||
<color name="window_background">#FF000000</color>
|
||||
|
||||
</resources>
|
||||
52
mymessagemanager/src/main/res/values-night/styles.xml
Normal file
52
mymessagemanager/src/main/res/values-night/styles.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="MyAppTheme" parent="AESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MyDepthAESTheme" parent="DepthAESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MySkyAESTheme" parent="SkyAESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MyGoldenAESTheme" parent="GoldenAESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MyMemorAESTheme" parent="MemorAESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
<style name="MyTaoAESTheme" parent="TaoAESTheme">
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!--<attr name="appTheme" format="reference"/>-->
|
||||
<attr name="textColorPrimary" format="color" />
|
||||
<declare-styleable name="SMSView">
|
||||
<attr name="attrSMSType" format="string"/>
|
||||
<attr name="attrSMSViewSendColor" format="color" />
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
<resources>
|
||||
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
|
||||
<color name="text_color_primary">#FF000000</color>
|
||||
<color name="window_background">#FFFFFFFF</color>
|
||||
|
||||
<color name="colorSMSSendColor">#FFDCDA3D</color>
|
||||
<color name="colorSMSInboxColor">#FF3DDC84</color>
|
||||
|
||||
@@ -3,6 +3,11 @@
|
||||
|
||||
<style name="MyAppTheme" parent="AESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColor</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColor</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColor</item>
|
||||
@@ -11,6 +16,11 @@
|
||||
|
||||
<style name="MyDepthAESTheme" parent="DepthAESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColorDepth</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColorDepth</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColorDepth</item>
|
||||
@@ -18,6 +28,11 @@
|
||||
|
||||
<style name="MySkyAESTheme" parent="SkyAESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColorSky</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColorSky</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColorSky</item>
|
||||
@@ -25,6 +40,11 @@
|
||||
|
||||
<style name="MyGoldenAESTheme" parent="GoldenAESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColorGolden</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColorGolden</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColorGolden</item>
|
||||
@@ -32,6 +52,11 @@
|
||||
|
||||
<style name="MyMemorAESTheme" parent="MemorAESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColorMemor</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColorMemor</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColorMemor</item>
|
||||
@@ -39,6 +64,11 @@
|
||||
|
||||
<style name="MyTaoAESTheme" parent="TaoAESTheme">
|
||||
<item name="android:textSize">20sp</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="textColorPrimary">@color/text_color_primary</item>
|
||||
<item name="android:textColor">@color/text_color_primary</item>
|
||||
<item name="colorTextColor">@color/text_color_primary</item>
|
||||
<item name="attrSMSViewSendColor">@color/colorSMSSendColorTao</item>
|
||||
<item name="attrSMSViewInboxColor">@color/colorSMSInboxColorTao</item>
|
||||
<item name="attrTTSRuleViewBackgroundColor">@color/colorTTSRuleViewBackgroundColorTao</item>
|
||||
|
||||
Reference in New Issue
Block a user