言語をポートレートモードで選択するとうまくいきます。横向きに向きを変えてポートレートモードに戻すと、デフォルトで言語が選択されます。向きを変えた後、言語が英語に戻ります
私はアンドロイドmenifestファイル
アンドロイドでこのコードを試してみました:?configChanges = "キーボード|隠し|画面サイズ|オリエンテーション
だからいずれかは、事前に上記の要件 ありがとうを達成するためにどのように私を提案することができます
言語をポートレートモードで選択するとうまくいきます。横向きに向きを変えてポートレートモードに戻すと、デフォルトで言語が選択されます。向きを変えた後、言語が英語に戻ります
私はアンドロイドmenifestファイル
アンドロイドでこのコードを試してみました:?configChanges = "キーボード|隠し|画面サイズ|オリエンテーション
だからいずれかは、事前に上記の要件 ありがとうを達成するためにどのように私を提案することができます
正しい方法は、アプリケーションのオブジェクトからそれを処理することです。
public class MyApp extends Application {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Set your locale here...
}
}
ロケールをアクティビティから変更すると、アプリケーションクラスがこのlangを修正するので、より良いですが、私たちの設定では、アクティビティクラス –
@ Yogesh Rathiはあなたのソリューションで、すべてのアクティビティでonConfigurationChangedメソッドを処理する必要があります。 –
あなた自身のアクティビティを宣言して、カスタムアクティビティクラス –
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Set your locale here...
}
あなたのアクティビティクラスに上記のコードを追加すると、上記のローテーションが変更されたときに、ロケールはあなたのロケールがポートレートロケールに設定されているものを覚えていません。
ここで、言語を変更しますか?システム環境設定で? configChanges – Massimo
に「locale」を追加する必要があります。コードを入力する必要がありますが、コードから何らかの理由でアプリケーション言語を設定しているように見えます。向き変更には考慮しません。 – Korcholis
設定conf = res .getConfiguration(); conf.locale = locale; res.updateConfiguration(conf、dm); – Phoenix