사용자가 시스템 로케일을 미국에서 중국으로 변경할 때. 내 앱에서 영어를 중국어로 변경하고 싶지는 않지만 내 앱의 언어는 영어로 유지됩니다.내 app에서 로케일 변경을 비활성화하는 android 속성이 있습니까
AndroidManifest.xml에 android 속성을 설정하여이 작업을 수행 할 수 있습니까?
감사
당신은 당신의 요구 사항에 따라 로케일을 유지하기 위해 코드 아래 사용할 수 있습니다사용자가 시스템 로케일을 미국에서 중국으로 변경할 때. 내 앱에서 영어를 중국어로 변경하고 싶지는 않지만 내 앱의 언어는 영어로 유지됩니다.내 app에서 로케일 변경을 비활성화하는 android 속성이 있습니까
AndroidManifest.xml에 android 속성을 설정하여이 작업을 수행 할 수 있습니까?
감사
당신은 당신의 요구 사항에 따라 로케일을 유지하기 위해 코드 아래 사용할 수 있습니다, 내가 한 번 이렇게하고 응용 프로그램 클래스에 코드를 넣어 더 좋을 거라 생각
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
Vickyexpert에게 감사드립니다. androidManifest.xml에서이 작업을 수행 할 수 있다면 완벽 할 것이라고 생각합니다. –
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
Resources res = base.getResources();
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
res.updateConfiguration(config, res.getDisplayMetrics());
super.attachBaseContext(base);
}
}
다른 로케일에 대체 strings.xml을 제공하지 않으면 응용 프로그램 언어가 변경되지 않습니다. –
예. 그렇지만 내 응용 프로그램은 strings.xml을 제공합니다. 나는 그들을 제거하고 싶지 않다. 이것이 이상한 요구 사항이라고 생각합니다. –
이것이 필요한가요? http://stackoverflow.com/questions/4985805/set-locale-programatically – Emran