清单 screenOrientation 属性 与 setRequestedOrientation
Manifest screenOrientation property vs setRequestedOrientation
我正在尝试了解在我的清单文件中这样设置 screenOrientation
之间的区别
<activity android:name='.MainActivity' screenOrientation='portrait'/>
与在 onCreate
生命周期的一部分中这样做相比
`setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);`
据我了解,第一种方法将在纵向模式下创建活动,而不管创建时 phone 方向如何(这意味着 activity 将以纵向模式创建,即使您将 phone 保持横向),而第二个将在 phone 方向给定的配置中创建 activity 然后更改(因此,如果您将 phone 保持在Landscape position and create an activity,你会看到在landscape上创建的activity,然后重新配置自己为portrait mode)。
我说得对吗?如果我不是,谁能给我解释一下到底有什么区别?
你在清单中设置的是一种初始值,可以使用 setRequestedOrientation() 方法进行操作。
您可以通过实现一个非常简单的应用程序来测试您编写的内容。
基本上你会得到相同的结果。区别在于清单中定义的方向从一开始就生效,创建 activity.
而您可以调用 setRequestedOrientation() 方法根据条件或事件以编程方式设置它。例如,您可以使用 setRequestedOrientation() 方法在单击按钮时将方向从纵向更改为横向。或者通过传递参数 ActivityInfo.SCREEN_ORIENTATION_SENSOR.
使其依赖于传感器
我正在尝试了解在我的清单文件中这样设置 screenOrientation
之间的区别
<activity android:name='.MainActivity' screenOrientation='portrait'/>
与在 onCreate
生命周期的一部分中这样做相比
`setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);`
据我了解,第一种方法将在纵向模式下创建活动,而不管创建时 phone 方向如何(这意味着 activity 将以纵向模式创建,即使您将 phone 保持横向),而第二个将在 phone 方向给定的配置中创建 activity 然后更改(因此,如果您将 phone 保持在Landscape position and create an activity,你会看到在landscape上创建的activity,然后重新配置自己为portrait mode)。
我说得对吗?如果我不是,谁能给我解释一下到底有什么区别?
你在清单中设置的是一种初始值,可以使用 setRequestedOrientation() 方法进行操作。
您可以通过实现一个非常简单的应用程序来测试您编写的内容。
基本上你会得到相同的结果。区别在于清单中定义的方向从一开始就生效,创建 activity.
而您可以调用 setRequestedOrientation() 方法根据条件或事件以编程方式设置它。例如,您可以使用 setRequestedOrientation() 方法在单击按钮时将方向从纵向更改为横向。或者通过传递参数 ActivityInfo.SCREEN_ORIENTATION_SENSOR.
使其依赖于传感器