2014-03-31 40 views
0

有沒有一種方法可以以特定方向(以編程方式)啓動活動而無需再次重新創建活動?現在,如果我從OnCreate調用setRequestedOrientation並且方向與當前不同,那麼該活動將被刪除並重新啓動。在開始之前將活動設置爲特定方向

謝謝

+0

爲此獲得了任何解決方案? –

回答

2

您可以在清單文件

 <activity android:name=".SomeActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait"> 
+0

謝謝,但我想通過編程方式不通過xml – Snake

0
  1. 設置你的方向如果你不想活動重新啓動,在AndroidManifest.xml

    添加configChanges的活動
    <activity 
        android:name="com.myexample.SplashScreen" 
        android:configChanges="orientation|screenSize" 
        android:label="@string/app_name" > 
    

    然後調用setRequestedOrientation以編程方式設置方向。

  2. 但是,如果你想鎖定活動到1方向。通過添加android將它設置在Manifest中是很好的:screenOrientation =「portrait」

+0

什麼是沒有重新啓動活動的缺點? – Snake

+0

請參閱此處的configChanges:http://developer.android.com/guide/topics/manifest/activity-element.html列出活動將自行處理的配置更改。當運行時發生配置更改時,該活動默認關閉並重新啓動,但使用此屬性聲明配置將會阻止活動重新啓動。相反,該活動仍在運行,並調用onConfigurationChanged()方法。您已經在onConfigurationChanged()中處理橫向和縱向的佈局配置更改。 – UserJava