下面列出了android.content.res.Configuration#setToDefaults() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static Locale y(Context context) {
Locale locale = null;
try {
Configuration configuration = new Configuration();
configuration.setToDefaults();
System.getConfiguration(context.getContentResolver(), configuration);
if (configuration != null) {
locale = configuration.locale;
}
} catch (Exception e) {
bv.c(a, "fail to read user config locale");
}
if (locale == null) {
return Locale.getDefault();
}
return locale;
}
@Override
public Resources getResources() {
Resources res = super.getResources();
//强制字体大小不随系统改变而改变:https://blog.csdn.net/xuxian361/article/details/74909602
if (res.getConfiguration().fontScale != 1f) {
Configuration newConfig = new Configuration();
newConfig.setToDefaults();
res.updateConfiguration(newConfig, res.getDisplayMetrics());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
createConfigurationContext(newConfig);
} else {
res.updateConfiguration(newConfig, res.getDisplayMetrics());
}
}
return res;
}
/**
* 重写getResources()方法,让APP的字体不受系统设置字体大小影响
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
@Override
public void onCreate() {
super.onCreate();
context = this;
// 加载系统默认设置,字体不随用户设置变化
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
}
/**
* 字体大小不随系统变化而变化 字体待定
*
* @return
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
try {
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
/**
* 放大系统字体将导致布局错乱,所以一般可将其屏蔽
* @return
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
if (res.getConfiguration().fontScale != 1) {
Configuration newConfig = new Configuration();
newConfig.setToDefaults();
res.updateConfiguration(newConfig, res.getDisplayMetrics());
}
return res;
}
@Override
public Resources getResources() {
Resources res = super.getResources();
if (res.getConfiguration().fontScale != 1) {//非默认值
Configuration newConfig = new Configuration();
newConfig.setToDefaults();//设置默认
res.updateConfiguration(newConfig, res.getDisplayMetrics());
}
return res;
}
/**
* 文本不随系统字体增大儿增大
*
* @return
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
public void applyThemeToActivity(Activity activity) {
if (currentCustomThemePatcher == null && currentCustomTheme != null) {
ThemeResourceFileBuilder.CustomTheme theme = ThemeResourceFileBuilder
.createTheme(context, currentCustomTheme);
currentTheme = theme;
File themeFile = ThemeResourceFileBuilder.createThemeZipFile(context,
theme.getResTable());
currentCustomThemePatcher = new Theme(context, themeFile.getAbsolutePath());
}
ThemeResInfo currentBaseTheme = currentTheme;
if (currentCustomTheme != null)
currentBaseTheme = currentCustomTheme.baseThemeInfo;
boolean isThemeDark = currentBaseTheme instanceof BaseTheme &&
((BaseTheme) currentBaseTheme).isDark;
if (currentCustomThemePatcher == null && isThemeDark) {
currentCustomThemePatcher = new Theme(activity.getAssets());
}
if (mNeedsApplyIrcColors) {
Configuration c = new Configuration();
c.setToDefaults();
c.uiMode = Configuration.UI_MODE_TYPE_NORMAL;
if (currentBaseTheme instanceof BaseTheme && ((BaseTheme) currentBaseTheme).isDark)
c.uiMode |= Configuration.UI_MODE_NIGHT_YES;
Resources r = new Resources(currentCustomThemePatcher != null ?
currentCustomThemePatcher.getAssetManager() : context.getAssets(),
new DisplayMetrics(), c);
Resources.Theme t = r.newTheme();
ThemeResInfo resInfo = currentTheme != null ? currentTheme : fallbackTheme;
t.applyStyle(resInfo.getThemeResId(), true);
IRCColorUtils.loadColors(t, resInfo.getIRCColorsResId());
mNeedsApplyIrcColors = false;
}
if (currentCustomThemePatcher != null) {
currentCustomThemePatcher.applyToActivity(activity);
}
if (isThemeDark)
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
else
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
/**
* 重写此方法, 使得app使用统一的默认配置
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
/**
* 禁止改变字体大小
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
/**
* 禁止改变字体大小
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}
/**
* 禁止改变字体大小
*/
@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}