2015-12-22 6 views
5

すべてのGUI要素のレイアウト方向がシステム言語によって制御されているようです。右から左の場合は、すべてのメニュー、ダイアログ、メッセージボックスなどが右から左に表示されます。これは恐ろしいことです。レイアウト方向がRTLに変わります

アプリは内蔵のローカライズ機能を持っている私は、アプリのローカライズを行うことができますどのよう アプリのGUIはなく、デバイスのシステム言語を支配(「あなたの国を選択してください)?

答えて

1

を控え長い道のりがありますあなたはアプリケーションクラスのデバイス設定を検出してから、コード内で特定のロケールとレイアウトの方向を強制する必要があります。次に、すべてのアクティビティに対してonConfigurationChangedを処理して 'layoutdirection | locale'設定変更イベントを処理して処理する必要がありますアプリケーションを終了して再起動することなく、レイアウトフォルダから正しいリソースをフェッチするために、新しいランタイムの変更を選択するようにアクティビティをリロードすることによって、自分自身を再ロードすることができます。 yのいくつかの奇妙な行動やバグを生み出す..しかし、それは最終的にはなんとかだだろうリロード活動の一環...

チェック更なる情報については、このうち:

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/Application.java

https://github.com/aleung/RunningCadence/blob/master/RunningCadence/src/leoliang/runningcadence/PreferenceActivity.java

関連する問題