Tuy nhiên có một tình huống đặt ra như sau: Bạn dùng máy với locale Tiếng Anh nhưng bạn lại muốn ứng dụng của bạn hiển thị Tiếng Việt. Hay ứng dụng của bạn có nơi hiển thị danh sách ngôn ngữ, người dùng chọn ngôn ngữ nào thì ứng dụng bạn hiển thị ngôn ngữ đó. Bài toán này được giải quyết như sau:
String languageToLoad = "vi";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, null);
T
rong tập tin AndroidManifest.xml:
<activity
android:label="@string/app_name"
android:name=".Dex"
android:configChanges="locale">
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true" />
Sau đó để không phải restart lại ứng dụng chúng ta sử dụng câu lệnh sau:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
Tham khảo:- Force Locale on Android
- Selecting language from within the app rather than by locale of the system settings
Không có nhận xét nào:
Đăng nhận xét