qq_19687853
qq_19687853
采纳率100%
2019-04-15 18:09 阅读 1.4k

Android 横屏设置, 为什么会先显示一会竖屏?

5

Actiivty 横屏设置, 为什么会先显示一会竖屏?

    var TAG = "Test"

    override fun onCreate(savedInstanceState: Bundle?) {
        setOrientation()
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d(TAG, "onCreate")
    }

    private fun setOrientation() {
        //隐藏标题
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //设置全屏
        window.setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
        )
        requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
    }

为什么会先出来一会的竖屏, 才会横屏显示 ?

但是在 AndroidManifest.xml 中设置
``` android:configChanges="orientation|keyboardHidden|navigation"
android:screenOrientation="landscape"/>

就能正常横屏显示....
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    aa520858 aa520858 2019-04-15 20:17

    关闭手机里面的自动旋转!

    点赞 评论 复制链接分享
  • maganyos maganyos 2019-04-16 00:17

    在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)

    点赞 评论 复制链接分享
  • weimingjue 王能 2019-04-16 09:46

    原因很简单:
    配置文件写死不会出现问题,是因为当系统跳转时预先读取配置文件,发现你是横屏当然直接横屏了
    代码会出现切换的问题,系统当然无法预读取你的代码了,只有执行到的时候才会进行切换,在onCreat之前不是有间隔吗,这段间隔系统当然是默认什么样就什么样了。
    可以参考微信也会有这种情况,如果只是横屏应用建议在配置里写死

    点赞 评论 复制链接分享
  • linjinghui123 linjinghui123 2019-07-30 14:38

    您好,您的问题解决了吗
    我也遇到了相同的问题,不在配置文件中定死方向的话,代码中动态设置横屏,会先竖屏再横屏
    但是我不能再配置文件中定死,如果我需要的是竖屏,那就会出现先横再竖的情况

    点赞 评论 复制链接分享
  • u013050003 u013050003 2019-08-22 17:52

    xml配置文件中设置android:screenOrientation="nosensor",关闭重力感应就好了。

    点赞 评论 复制链接分享

相关推荐