2
我想讓用戶更改允許Android以縱向或橫向顯示的選項。我所做的是允許用戶設置首選項,然後在程序中強制它。讓用戶更改默認方向
在這一點上,我使用的代碼,像這樣的內部onCreate
:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (prefs.getBoolean("landscapeModeEnabled", false)) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
super.onCreate(savedInstanceState);
現在的問題是,它創建的活動兩次如果屏幕是不是在「逼」的方向。也就是說,如果用戶想要橫向顯示,默認(人像)方向的手機會將屏幕加載兩次。
我知道我可以使用XML進行設置,但這不會允許用戶更改方向的首選項。
我使用SherlockFragmentActivity
從Action Bar Sherlock,如果有問題。
這聽起來像它會工作,但我寧願去與不需要雙倍的活動:) – Muz 2013-02-18 05:56:20
Eww。你想要這個屬性的所有活動?如果你的活動方向不固定,那麼用戶可以按他喜歡的方式使用你的應用程序(土地/港口)。你甚至不需要給他一個偏好選項。如果您可以照顧不同方向的佈局。 – 2013-02-18 06:03:07