Android 处理屏幕方向?

Android 处理屏幕方向?,android,orientation,screen-orientation,oncreate,landscape-portrait,Android,Orientation,Screen Orientation,Oncreate,Landscape Portrait,当页面加载时,首先以横向模式加载,然后几秒钟后,方向更改为纵向模式值 protected void onCreate(Bundle savedInstanceState) { super.onCreate(); setContentView(R.layout.layout); if(orientation.equals("true")) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENT

当页面加载时,首先以横向模式加载,然后几秒钟后,方向更改为纵向模式值

protected void onCreate(Bundle savedInstanceState)
{

    super.onCreate();

    setContentView(R.layout.layout);

    if(orientation.equals("true")) 
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
    else
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
}

默认情况下,无论当前方向的设备是什么,它都将以该模式打开活动。没有具体的方法来处理此问题

当您在活动中以编程方式更改方向时,该方向将仅在活动
onCreate()
方法之后执行

所以你每次都会遇到小问题。我在这里也遇到过类似的定位问题 @Shainu集

 android:screenOrientation = "user"

在开始活动之前,更新您对方向的偏好。 用户当前的首选方向


有关更多信息:

对我来说,最好的解决方案是在调用super.onCreate()之前处理屏幕方向

比issuecheck API在上一个活动或应用程序类上的作用大多少。@UmairI我认为您需要重新考虑活动的生命周期,因为onCreate()是在onStart()之前调用的@Shainu将android:screenOrientation设置为用户,并在跳转到activity:user=用户当前首选的方向之前更新您的方向偏好。更多信息:谢谢@SaraTirmizi。这对我很有效。