我已将应用程序的方向设置为传感器,我正在让应用程序处理所有方向更改。在应用程序运行时,一切都按预期工作。
首次启动应用时会出现问题。如果手机处于纵向模式并且用户启动我的应用程序,我会看到我的应用程序背景,然后它会进行方向旋转到横向视图,因为我在我的应用程序中使用setRequestedOrientation()。我想要改变方向,但我不想要它带来的旋转动画。我只想在肖像和风景之间进行硬切换。
我尝试在onCreate,surfaceChanged或onConfigurationChanged中使用overridePendingTransition(0,0)而没有运气。还有其他地方我应该放这个吗?我相信使用(0,0)应该禁用挂起的动画。
如果我将系统设置 - >显示 - >动画设置为无,我会获得所需的效果。我试图为我的活动设置样式,但这也没有用。
答案 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。