本文整理汇总了Java中android.content.res.Configuration.setLocale方法的典型用法代码示例。如果您正苦于以下问题:Java Configuration.setLocale方法的具体用法?Java Configuration.setLocale怎么用?Java Configuration.setLocale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.content.res.Configuration
的用法示例。
在下文中一共展示了Configuration.setLocale方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: changeLocale
import android.content.res.Configuration; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public static void changeLocale(String locale) {
Context context = InstrumentationRegistry.getInstrumentation()
.getTargetContext();
Resources res = context.getApplicationContext().getResources();
Configuration config = res.getConfiguration();
config.setLocale(new Locale(locale));
if (SDK_INT >= 25) {
context.createConfigurationContext(config);
} else {
res.updateConfiguration(config, res.getDisplayMetrics());
}
}
示例2: detectLanguage
import android.content.res.Configuration; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public static void detectLanguage(Context context) {
SharedPreferences setting = PreferenceManager
.getDefaultSharedPreferences(context);
String language = setting.getString(Util.PREF_LANGUAGE, "auto");
Resources res = context.getResources();
Configuration conf = res.getConfiguration();
switch (language) {
case "en":
case "zh":
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
conf.setLocale(new Locale(language));
} else {
conf.locale = new Locale(language);
}
break;
default:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
conf.setLocale(Resources.getSystem().getConfiguration().getLocales().get(0));
} else {
conf.locale = Resources.getSystem().getConfiguration().locale;
}
}
DisplayMetrics dm = res.getDisplayMetrics();
res.updateConfiguration(conf, dm);
}
示例3: wrap
import android.content.res.Configuration; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public static ContextWrapper wrap(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String lang = prefs.getString(Constants.PREF_APP_LANGUAGE, "");
Locale locale = StringUtils.getLocale(lang);
locale = (locale == null) ? Locale.getDefault() : locale;
Configuration configuration = context.getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
LocaleList localeList = new LocaleList(locale);
LocaleList.setDefault(localeList);
Locale.setDefault(locale);
configuration.setLocale(locale);
configuration.setLocales(localeList);
context = context.createConfigurationContext(configuration);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
configuration.setLocale(locale);
context = context.createConfigurationContext(configuration);
} else {
configuration.locale = locale;
context.getResources().updateConfiguration(configuration, null);
}
return new InventumContextWrapper(context);
}
示例4: onCreate
import android.content.res.Configuration; //导入方法依赖的package包/类
@Override
public void onCreate() {
super.onCreate();
Resources resources = getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
// 应用用户选择语言
String language = SPUtil.getInstance(this).getLanguage();
if ("".equals(language)){
language =Locale.getDefault().getLanguage();
}
if (language.equals(SPUtil.LANGUAGE_CHINESE)) {
config.setLocale(Locale.getDefault());
} else {
config.setLocale(Locale.ENGLISH);
}
resources.updateConfiguration(config, dm);
mContext=getApplicationContext();
}
示例5: setLocale
import android.content.res.Configuration; //导入方法依赖的package包/类
public static void setLocale(@NonNull Context context) {
Locale locale = Preferences.get(context).getCurrentLocale();
Locale.setDefault(locale);
Configuration configuration = context.getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
LocaleList.setDefault(new LocaleList(locale));
configuration.setLocales(new LocaleList(locale));
configuration.setLocale(locale);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
configuration.setLocale(locale);
} else {
configuration.locale = locale;
}
//Todo:
// Find out a solution to use context.createConfigurationContext(configuration);
// It breaks onConfigurationChanged()
// Still can't find a way to fix that
// No other options, better use deprecated code for now
context.getResources().updateConfiguration(configuration, context.getResources().getDisplayMetrics());
}
示例6: wrap
import android.content.res.Configuration; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public static ContextWrapper wrap(Context context) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String lang = prefs.getString(Constants.PREF_APP_LANGUAGE, "");
Locale locale = StringUtils.getLocale(lang);
locale = (locale == null) ? Locale.getDefault() : locale;
Configuration configuration = context.getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
LocaleList localeList = new LocaleList(locale);
LocaleList.setDefault(localeList);
Locale.setDefault(locale);
configuration.setLocale(locale);
configuration.setLocales(localeList);
context = context.createConfigurationContext(configuration);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
configuration.setLocale(locale);
context = context.createConfigurationContext(configuration);
} else {
configuration.locale = locale;
context.getResources().updateConfiguration(configuration, null);
}
return new ShowChatContextWrapper(context);
}
示例7: wrap
import android.content.res.Configuration; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
public static ContextWrapper wrap(Context context, Locale newLocale)
{
final Resources res = context.getResources();
final Configuration configuration = res.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
{
configuration.setLocale(newLocale);
LocaleList localeList = new LocaleList(newLocale);
LocaleList.setDefault(localeList);
configuration.setLocales(localeList);
context = context.createConfigurationContext(configuration);
}
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
{
configuration.setLocale(newLocale);
context = context.createConfigurationContext(configuration);
}
else
{
configuration.locale = newLocale;
res.updateConfiguration(configuration, res.getDisplayMetrics());
}
return new ContextWrapper(context);
}
示例8: loadLocale
import android.content.res.Configuration; //导入方法依赖的package包/类
public static void loadLocale(Context context) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
Locale locale = new Locale(sharedPreferences.getString("language", "zh"));
Locale.setDefault(locale);
Configuration configuration = new Configuration();
configuration.setLocale(locale);
context.getResources().updateConfiguration(configuration, context.getResources().getDisplayMetrics());
}
示例9: setConfiguration
import android.content.res.Configuration; //导入方法依赖的package包/类
/**
* 设置语言
*/
public void setConfiguration() {
Locale targetLocale = getLanguageLocale();
Configuration configuration = mContext.getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
configuration.setLocale(targetLocale);
} else {
configuration.locale = targetLocale;
}
Resources resources = mContext.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
resources.updateConfiguration(configuration, dm);//语言更换生效的代码!
}
示例10: applyLanguageForContext
import android.content.res.Configuration; //导入方法依赖的package包/类
/**
* Setting {@link Locale} for {@link Context}.
*/
@NonNull
public static Context applyLanguageForContext(@NonNull Context context, @NonNull Locale locale) {
Resources resources = context.getResources();
Configuration config = resources.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
config.setLocale(locale);
return context.createConfigurationContext(config);
} else {
config.locale = locale;
resources.updateConfiguration(config, resources.getDisplayMetrics());
return context;
}
}
示例11: updateResources
import android.content.res.Configuration; //导入方法依赖的package包/类
private static void updateResources(Context context, String language) {
Locale locale = getLocale(language);
Locale.setDefault(locale);
Configuration configuration = context.getResources().getConfiguration();
configuration.setLocale(locale);
context.createConfigurationContext(configuration);
}
示例12: updateResources
import android.content.res.Configuration; //导入方法依赖的package包/类
public static Context updateResources(Context context, Locale locale) {
Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLayoutDirection(locale);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
configuration.setLocale(locale);
return context.createConfigurationContext(configuration);
} else {
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return context;
}
}
示例13: updateLanguage
import android.content.res.Configuration; //导入方法依赖的package包/类
public static void updateLanguage(Activity a) {
if (a == null)
return;
Context context = a.getApplicationContext();
Locale l;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
l = context.getResources().getConfiguration().getLocales().get(0);
else l = context.getResources().getConfiguration().locale;
String languageSelection = DataUtils.getLanguage(context);
if (l != null && l.getLanguage().equalsIgnoreCase(languageSelection))
return;
Configuration cfg = new Configuration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
cfg.setLocale(new Locale(languageSelection));
else cfg.locale = new Locale(languageSelection);
context.getResources().updateConfiguration(cfg, null);
// Restart activity and notifications
a.finish();
Intent intent = a.getIntent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
LessonNotificationScheduler.updateBroadcastReceiver(context);
HomeworkNotificationScheduler.updateBroadcastReceiver(context);
}
示例14: updateLanguageInContext
import android.content.res.Configuration; //导入方法依赖的package包/类
public static void updateLanguageInContext(Context context) {
String languageSelection = DataUtils.getLanguage(context);
Configuration cfg = new Configuration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
cfg.setLocale(new Locale(languageSelection));
else cfg.locale = new Locale(languageSelection);
context.getResources().updateConfiguration(cfg, null);
}
示例15: updateResources
import android.content.res.Configuration; //导入方法依赖的package包/类
@TargetApi(Build.VERSION_CODES.N)
private static Context updateResources(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration configuration = context.getResources().getConfiguration();
configuration.setLocale(locale);
return context.createConfigurationContext(configuration);
}