如何修改Simple-Keyboard默认主题为黑白?修改styles.xml无效求助
解决Simple-Keyboard默认主题设为“Black & White”的问题
问题原因
你修改styles.xml里的AppTheme父主题后没生效,是因为SimpleMobileTools系列项目的主题由Simple-Commons中的偏好设置控制,默认主题通过SharedPreferences初始化,单纯修改样式文件覆盖不了这个逻辑。
具体修改方法
1. 调整Simple-Commons的默认主题常量
在Simple-Commons的com.simplemobiletools.commons.helpers包下找到Prefs类:
- 先在
Constants类里确认“Black & White”对应的主题常量,一般是THEME_BLACK_AND_WHITE = 3; - 找到
getAppTheme()方法,把默认返回值改成THEME_BLACK_AND_WHITE,或者在SharedPreferences初始化时将主题默认值设为这个常量。
2. 确认styles.xml配置正确
在Simple-Keyboard的styles.xml里,保证AppTheme的父主题指向正确:
<style name="AppTheme" parent="AppTheme.BlackAndWhite" />
同时检查values-night/styles.xml等其他主题目录下的配置,避免夜间模式设置干扰。
3. 可选:在Simple-Keyboard内强制设置默认主题
如果不想修改Simple-Commons源码,也可以在Simple-Keyboard的Application类或启动Activity的onCreate()方法里,提前写入偏好设置覆盖默认深色主题:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); if (!prefs.contains(Constants.APP_THEME)) { prefs.edit().putInt(Constants.APP_THEME, Constants.THEME_BLACK_AND_WHITE).apply(); }
内容的提问来源于stack exchange,提问作者bzark
相关产品推荐
相关产品推荐

