启动活动时禁用方向动画

时间:2011-06-23 15:47:28

标签: android

我已将应用程序的方向设置为传感器,我正在让应用程序处理所有方向更改。在应用程序运行时,一切都按预期工作。

首次启动应用时会出现问题。如果手机处于纵向模式并且用户启动我的应用程序,我会看到我的应用程序背景,然后它会进行方向旋转到横向视图,因为我在我的应用程序中使用setRequestedOrientation()。我想要改变方向,但我不想要它带来的旋转动画。我只想在肖像和风景之间进行硬切换。

我尝试在onCreate,surfaceChanged或onConfigurationChanged中使用overridePendingTransition(0,0)而没有运气。还有其他地方我应该放这个吗?我相信使用(0,0)应该禁用挂起的动画。

如果我将系统设置 - >显示 - >动画设置为无,我会获得所需的效果。我试图为我的活动设置样式,但这也没有用。

1 个答案:

答案 0 :(得分:1)

如果问题仅出现在应用程序启动时,您可以执行此操作以强制横向方向而不显示动画:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp"
    android:versionCode="1"
    android:versionName="1.0"> 

    <application android:icon="@drawable/icon" 
                 android:label="@string/app_name">

        <activity android:name="com.example.myapp.MyActivity" 
                  android:screenOrientation="landscape">

        ...

        </activity>

    </application>
</manifest>  

然后,您可以在代码中稍后以编程方式更改android:screenOrientation设置,以便在您希望的情况下允许横向和portatit。