我试图了解在 list 文件上设置 screenOrientation
之间的差异,如下所示
<activity android:name='.MainActivity' screenOrientation='portrait'/>
与在生命周期的 onCreate
部分期间执行此操作相比,如下所示
`setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);`
据我了解,第一种方法将以纵向模式创建 Activity ,无论创建时的手机方向如何(这意味着即使您横向握住手机,该 Activity 也将以纵向模式创建),而第二种方法将以手机方向给定的配置创建 Activity ,然后更改(因此,如果您将手机保持在横向位置并创建 Activity ,您将看到横向创建的 Activity ,然后将其自身重新配置为纵向模式)。
我说得对吗?如果我不是,谁能向我解释一下到底有什么区别?
最佳答案
您在 list 中设置的是一种初始值,可以使用 setRequestedOrientation() 方法对其进行操作。
您可以通过实现一个非常简单的应用程序来测试您所编写的内容。
基本上你会得到相同的结果。不同之处在于, list 中定义的方向从 Activity 创建之初就生效。
您可以调用 setRequestedOrientation() 方法根据条件或事件以编程方式设置它。例如,您可以使用 setRequestedOrientation() 方法单击按钮将方向从纵向更改为横向。或者通过传递参数 ActivityInfo.SCREEN_ORIENTATION_SENSOR 使其依赖于传感器。
关于java - list screenOrientation 属性与 setRequestedOrientation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675416/