暂时以编程方式禁用Qt

时间:2015-12-16 11:05:05

标签: android c++ qt

请注意:这个问题是关于Qt C ++框架,而不是普通的Java API。在Java中,这个问题是has already been answered

在我的应用程序的主菜单中,我真的不想担心不同类型的屏幕旋转。我想禁用屏幕旋转,直到用户转到屏幕旋转有意义的其他视图。对于主菜单,我只想使用纵向视图。

如何实现?如何控制应用屏幕旋转?

1 个答案:

答案 0 :(得分:0)

您可以使用

设置方向
QAndroidJniObject activity = QtAndroid::androidActivity();
activity.callMethod<void>("setRequestedOrientation", "(I)V", orientation);

其中方位是表示方位的int。您可以复制the codes provided in the documentation(例如,0来锁定风景,1来锁定人像,-1来解锁任何旋转),但我建议使用,例如

QAndroidJniObject::getStaticField<int>("android.content.pm.ActivityInfo", "SCREEN_ORIENTATION_LANDSCAPE");

获取代码值。

此答案基于https://stackoverflow.com/a/38947312/4248972。区别在于,此答案还说明了如何再次解锁旋转,并提供了一个示例来展示如何在无需手动复制的情况下获取方向代码。