Android 預設為 Portrait 模式,其設定檔位於 res/layout。
若要設定不同於 Portrait 的 Landscape 模式,可以另外建立 res/layout-land 目錄,這樣就可以使用完全不同的設定檔。
事實上, Portrait 模式是讀取 res/layout-port 目錄下的設定檔,因為沒有 res/layout-port 這個目錄,所以 Android 就會使用預設的目錄,也就是 res/layout。
Android 沒有提供 api 可供自行決定載入那一種設定檔,但是有提供 api 可以動態切換不同模式。
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);除了 layout 是設定檔驅動,res 目錄下的功能都是設定檔驅動。
另外除了螢幕顯示方向以外,還有很多模式可供自訂,甚至可以結合多種設定,如小螢幕 Landscape 模式的 layout 就可以用 res/layout-land-small,或者大螢幕的 drawable 可以用 res/drawable-large。
包括語系也是在這裡設定,所有設定值請看這裡。
最後,不管使用哪一種設定,程式參考設定檔時,是不用管(也沒法管)是用哪一種設定,所以使用 R.layout.main 就可以了。
沒有留言:
張貼留言