2016-11-11 70 views
0

我設置此功能使用Activity.getResources().getConfiguration().orientation 我獲得價值1這是potrait之前setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE)強制設置方向爲橫向的活動,即使自動旋轉啓用

然而,當我檢查的方向設置的方位。

然後我用代碼設置方向。仍然我得到的價值1,也android系統正在尋找佈局文件夾(potrait)的佈局,而不是佈局大地。因此得出的結論是,如何強制將景觀設置爲定向?

+1

如果設備不'大「,那麼在任何情況下都不會使用'layout-large-land'中的值。所以請確保你有一個'layout-land' –

回答

2

您可以強制AndroidManifest.xml集方向爲Activity

<activity 
    android:name="<name_of_your_activity>" 
    android:screenOrientation="landscape" 
    ... 

更新this問題看看。

+0

其實我想爲Potts和Landscape for Tablets設置Potrait方向。所以我無法通過Manifest設置方向 –

+0

請參閱更新的答案。 –

0

創造價值bool.xml

<resources> 
    <bool name="isTablet">false</bool> 
</resources> 

創建另一個bool.xml價值觀sw600dp

<resources> 
    <bool name="isTablet">true</bool> 
</resources> 

然後在活動

boolean tabletSize = getResources().getBoolean(R.bool.isTablet); 
if (tabletSize) { 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
} else { 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 
+0

老兄,我已經得到了這個布爾值並嘗試了這段代碼。但是,這並不是設定potrait的方向。我已通過Activity.getResources()。getConfiguration()。orientation'確認了這一點。甚至在設置setrequestedorientation和之後,值仍然是1 –

+0

您是否在清單中設置方向? –

+0

不,我沒有設置方向清單中的這個活動的屬性 –