2015-07-01 24 views
0

我想在AndroidManifest中鎖定指定配置的屏幕方向,而不是以編程方式進行。所以,我結束了以下方法:嘗試將方向屏幕修復爲自然或默認方向時出現問題

值/ config.xml中

<resources> 
    <integer name="orientation">1</integer> 
</resources> 

價值觀sw600dp/config.xml中

<resources> 
    <integer name="orientation">0</integer> 
</resources> 

如果我檢查值的資源編程

getResources().getInteger(R.integer.orientation) 

我得到期望值:平板電腦爲0,手機爲1,分別爲橫向和縱向框架指定的值。

但是,如果使用在AndroidManifest此資源:

<activity 
      android:name="activities.InitialConfigActivity_" 
      android:noHistory="true" 
      android:screenOrientation="@integer/orientation" /> 

活動啓動總是在縱向模式下,如果不管它是一個平板電腦或手機設備。

有什麼想法?

謝謝!

回答

1

編輯:我最初讀你的問題意味着你想完全控制啓動方向。如果您對自然/默認方向感到滿意,則使用nosensor,如下所述。


這可能不符合答案 - 我可以分享的內容比可以放在評論中的要多。

您可能已經看過這些相關問題的討論:related-1,related-2,related-3

根據我的經驗,當一個問題已經被許多不同的人調查了四年,但沒有找到解決方案時,通常意味着沒有解決方案。

一種選擇可能是使用了nosensor定向您的清單:

機器人:screenOrientation =「nosensor」

這將啓動活動在設備的「默認」或「天然」的方向。在我的設備上,這是:phone = portrait,7 inch-tablet = portrait,10-inch-tablet = landscape。如果您需要7英寸平板電腦的風景,將無法爲您工作。

This post包括用於確定設備的默認方向是什麼的代碼。