我正在開發一款應用程序,它可以在4.7英寸以上的設備上運行,並且在縱向和橫向都可以運行。如何鎖定某些屏幕尺寸的方向?
現在的問題是,我有大約50左右的活動,如果設備屏幕尺寸爲小於等於5英寸,我想鎖定方向爲垂直。我可以使用下面的代碼設置方向鎖定: -
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
上面的代碼,我可以用它來鎖定方位和下面的代碼顯示的指標: -
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
或
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
現在我的問題是,什麼是適當的方法來鎖定設備的方向< = 5英寸,我必須在我的所有活動中編寫此代碼? 另外,我無法使用baseActivity進行擴展,因爲大多數活動已經在擴展自定義偵聽器類
我無法擴展使用,因爲大部分活動已經在擴展自定義偵聽器類 –
好的。然後你必須創建一個具有靜態方法的Util,該方法使用相關的參數{activity,...}來提供可重用性特性。但是你必須從每個活動中調用Util.setRequestedOrienation(activity,...)。我會說,它更像是設計架構問題,它總是會讓你陷入這種情況。 – Deminem