android.content.Context#createConfigurationContext ( )源码实例Demo

下面列出了android.content.Context#createConfigurationContext ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: QuickNote   文件: CommonUtil.java
public static void changeLocalLanguage(Context context, Locale locale) {
    Resources resources = context.getResources();
    DisplayMetrics dm = resources.getDisplayMetrics();
    Configuration config = resources.getConfiguration();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//8.0及以上系统
        LocaleList localeList = new LocaleList(locale);
        LocaleList.setDefault(localeList);
        config.setLocale(locale);
        config.setLocales(localeList);
        context.createConfigurationContext(config);//对于8.0系统必须先调用该语句,否则后面的updateConfiguration不起作用
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4及以上系统
        config.setLocale(locale);
    } else {
        config.locale = locale;
    }
    resources.updateConfiguration(config, dm);//所有的系统都需要调用该API
}
 
源代码2 项目: prayer-times-android   文件: LocaleUtils.java
public static Context wrapContext(Context context) {
    Resources res = context.getResources();
    Configuration configuration = res.getConfiguration();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        configuration.setLocale(getLocale());
        LocaleList localeList = getLocales();
        LocaleList.setDefault(localeList);
        configuration.setLocales(localeList);
        context = context.createConfigurationContext(configuration);

    } else {
        configuration.setLocale(getLocale());
        context = context.createConfigurationContext(configuration);

    }

    return new ContextWrapper(context);
}
 
源代码3 项目: LanguageTest   文件: LocaleManager.java
private Context updateResources(Context context, String language) {
    Locale locale = new Locale(language);
    Locale.setDefault(locale);

    Resources res = context.getResources();
    Configuration config = new Configuration(res.getConfiguration());
    if (Utility.isAtLeastVersion(N)) {
        setLocaleForApi24(config, locale);
        context = context.createConfigurationContext(config);
    } else if (Utility.isAtLeastVersion(JELLY_BEAN_MR1)) {
        config.setLocale(locale);
        context = context.createConfigurationContext(config);
    } else {
        config.locale = locale;
        res.updateConfiguration(config, res.getDisplayMetrics());
    }
    return context;
}
 
源代码4 项目: focus-android   文件: SwitchLocaleTest.java
@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());
    }
}
 
源代码5 项目: TwistyTimer   文件: LocaleUtils.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private static Context updateResources(Context context, String language) {
    Locale locale = fetchLocaleFromString(language);
    Configuration configuration = context.getResources().getConfiguration();
    configuration.setLocale(locale);
    return context.createConfigurationContext(configuration);
}
 
源代码6 项目: Augendiagnose   文件: Application.java
/**
 * Create a ContextWrapper, wrappint the context with a specific locale.
 *
 * @param context The original context.
 * @return The context wrapper.
 */
public static ContextWrapper createContextWrapperForLocale(final Context context) {
	Resources res = context.getResources();
	Configuration configuration = res.getConfiguration();
	Locale newLocale = getApplicationLocale();
	Context newContext = context;

	if (VERSION.SDK_INT >= VERSION_CODES.N) {
		configuration.setLocale(newLocale);

		LocaleList localeList = new LocaleList(newLocale);
		LocaleList.setDefault(localeList);
		configuration.setLocales(localeList);

		newContext = context.createConfigurationContext(configuration);

	}
	else if (VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN_MR1) {
		configuration.setLocale(newLocale);
		newContext = context.createConfigurationContext(configuration);

	}
	else {
		configuration.locale = newLocale;
		res.updateConfiguration(configuration, res.getDisplayMetrics());
	}
	return new ContextWrapper(newContext);
}
 
源代码7 项目: WiFiAnalyzer   文件: ConfigurationUtils.java
@TargetApi(Build.VERSION_CODES.N)
@NonNull
private static Context createContextAndroidN(@NonNull Context context, @NonNull Locale newLocale) {
    Resources resources = context.getResources();
    Configuration configuration = resources.getConfiguration();
    configuration.setLocale(newLocale);
    return context.createConfigurationContext(configuration);
}
 
源代码8 项目: WanAndroid   文件: LanguageUtil.java
/**
 * android7.0之后,需要set local 到 configuration
 * @param context 要set的Context
 * @param language 要替换的语言
 * @return 一个通过configuration创建的新的Context
 */
@TargetApi(Build.VERSION_CODES.N)
private static Context createConfigurationContext(Context context, String language) {
    Resources resources = context.getResources();
    Configuration configuration = resources.getConfiguration();
    Locale locale = getSupportLanguage(language);
    configuration.setLocale(locale);
    return context.createConfigurationContext(configuration);
}
 
源代码9 项目: SoloPi   文件: PermissionDialogActivity.java
@TargetApi(Build.VERSION_CODES.N)
private static Context updateResources(Context context) {

    Resources resources = context.getResources();
    Locale locale = LauncherApplication.getInstance().getLanguageLocale();

    Configuration configuration = resources.getConfiguration();
    configuration.setLocale(locale);
    configuration.setLocales(new LocaleList(locale));
    return context.createConfigurationContext(configuration);
}
 
源代码10 项目: PictureSelector   文件: PictureLanguageUtils.java
/**
 * set default language
 *
 * @param context
 */
private static void setDefaultLanguage(Context context) {
    Resources resources = context.getResources();
    Configuration config = resources.getConfiguration();
    DisplayMetrics dm = resources.getDisplayMetrics();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        config.setLocale(config.locale);
        context.createConfigurationContext(config);
    }
    resources.updateConfiguration(config, dm);
}
 
源代码11 项目: ForPDA   文件: LocaleHelper.java
@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);
    configuration.setLayoutDirection(locale);

    return context.createConfigurationContext(configuration);
}
 
源代码12 项目: Change-Language-AtRuntime   文件: LocaleHelper.java
@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);
}
 
源代码13 项目: Album   文件: AlbumUtils.java
/**
 * Setting {@link Locale} for {@link Context}.
 *
 * @param context to set the specified locale context.
 * @param locale  locale.
 */
@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;
    }
}
 
源代码14 项目: MusicPlayer   文件: LocaleHelper.java
@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);
}
 
源代码15 项目: kcanotify_h5-master   文件: GameBaseActivity.java
private void updateLanguage(Context context, Locale locale) {
    Resources resources = context.getResources();
    Configuration config = resources.getConfiguration();
    DisplayMetrics dm = resources.getDisplayMetrics();
    config.setLocale(locale);
    context.createConfigurationContext(config);
    resources.updateConfiguration(config, dm);
}
 
源代码16 项目: SuntimesWidget   文件: AppSettings.java
public static Context loadLocale( Context context, String languageTag )
{
    if (systemLocale == null) {
        systemLocale = Locale.getDefault().getLanguage();
    }

    Locale customLocale = localeForLanguageTag(languageTag);
    Locale.setDefault(customLocale);
    Log.i("loadLocale", languageTag);

    Resources resources = context.getApplicationContext().getResources();
    Configuration config = resources.getConfiguration();

    if (Build.VERSION.SDK_INT >= 17)
        config.setLocale(customLocale);
    else config.locale = customLocale;

    if (Build.VERSION.SDK_INT >= 25) {
        return new ContextWrapper(context.createConfigurationContext(config));

    } else {
        DisplayMetrics metrics = resources.getDisplayMetrics();
        //noinspection deprecation
        resources.updateConfiguration(config, metrics);
        return new ContextWrapper(context);
    }
}
 
源代码17 项目: switch_language_sample   文件: LanguageUtil.java
@TargetApi(Build.VERSION_CODES.N)
private static Context createConfigurationResources(Context context, String language) {
    Resources resources = context.getResources();
    Configuration configuration = resources.getConfiguration();
    Locale locale;
    if (TextUtils.isEmpty(language)) {//如果没有指定语言使用系统首选语言
        locale = SupportLanguageUtil.getSystemPreferredLanguage();
    } else {//指定了语言使用指定语言,没有则使用首选语言
        locale = SupportLanguageUtil.getSupportLanguage(language);
    }
    configuration.setLocale(locale);
    return context.createConfigurationContext(configuration);
}
 
源代码18 项目: PocketEOS-Android   文件: LocalManageUtil.java
private static Context updateResources(Context context, Locale locale) {
    Locale.setDefault(locale);

    Resources res = context.getResources();
    Configuration config = new Configuration(res.getConfiguration());
    if (Build.VERSION.SDK_INT >= 17) {
        config.setLocale(locale);
        context = context.createConfigurationContext(config);
    } else {
        config.locale = locale;
        res.updateConfiguration(config, res.getDisplayMetrics());
    }
    return context;
}
 
源代码19 项目: AndroidProject   文件: BrowserView.java
/**
 * 修复原生 WebView 和 AndroidX 在 Android 5.x 上面崩溃的问题
 */
public static Context getFixedContext(Context context) {
    // 博客地址:https://blog.csdn.net/qq_34206863/article/details/103660307
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        // 不用上下文
        return context.createConfigurationContext(new Configuration());
    }
    return context;
}
 
源代码20 项目: xmrwallet   文件: LocaleHelper.java
public static Context setLocale(Context context, String locale) {
    setPreferredLocale(context, locale);

    Locale newLocale = (locale.isEmpty()) ? SYSTEM_DEFAULT_LOCALE : Locale.forLanguageTag(locale);
    Configuration configuration = context.getResources().getConfiguration();

    Locale.setDefault(newLocale);

    configuration.setLocale(newLocale);
    configuration.setLayoutDirection(newLocale);

    return context.createConfigurationContext(configuration);
}
 
 方法所在类
 同类方法