在活动开始之前将活动设置为特定方向

时间:2014-03-31 23:57:59

标签: android

有没有办法可以在特定方向(以编程方式)启动活动,而无需再次重新创建?现在,如果我从OnCreate调用setRequestedOrientation并且方向与当前方向不同,那么活动将被破坏并再次重新启动。

谢谢

3 个答案:

答案 0 :(得分:2)

您可以在清单文件中设置方向

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

答案 1 :(得分: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”

答案 2 :(得分:0)

对我来说,解决方案是锁定Activity的方向

android:screenOrientation =“已锁定”

,现在它仅取决于setRequestedOrientation():

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

不再重启。