1
我正在研究一個Android應用程序,到目前爲止我已經添加了更改語言環境的設置,以便用戶可以讓應用程序中的語言環境不同於設備上的語言環境,現在全部活動運行良好,但小部件仍然使用設備的區域設置,而不是設置爲應用程序的區域設置。如何強制一個語言環境部件
有沒有辦法強制小部件使用比設備上設置的其他區域更像活動?
謝謝
我正在研究一個Android應用程序,到目前爲止我已經添加了更改語言環境的設置,以便用戶可以讓應用程序中的語言環境不同於設備上的語言環境,現在全部活動運行良好,但小部件仍然使用設備的區域設置,而不是設置爲應用程序的區域設置。如何強制一個語言環境部件
有沒有辦法強制小部件使用比設備上設置的其他區域更像活動?
謝謝
我把語言放在微調器中。我將選定的語言環境保存在首選項(prefs)中,並在onConfigurationChanged方法中將其用於更改語言環境。我認爲你做相同或相似。
訣竅是,在Spinner的OnItemSelected方法中,我也調用OnConfigurationChanged,從資源設置文本並使所有受影響的小部件無效。瞧!所有文字都以選定的語言顯示。
spLanguages.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
prefs.saveInt("language", spLanguages.getSelectedItemPosition());
lan = spLanguages.getSelectedItemPosition();
onConfigurationChanged(new Configuration());
btnStart.setText(getResources().getString(R.string.main_start));
btnStart.invalidate();
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {}
});
這與小部件無關,@mmohab已經知道如何在活動中做到這一點。理論上,小部件可以在Update上讀取sharedpreferences,但onUpdate並不總是運行 – CQM 2012-11-29 21:11:06