在Meego上控制横竖屏

引言
在手机上控制横竖屏显示是应用程序经常要遇到的问题。由于在 Meego 上原来的setOrientation(MainWindow::ScreenOrientationLockLandscape) 以及 ScreenOrientationLockPortrait,ScreenOrientationAuto等已经不起作用了(并且 QWidget 在 Meego 上也已经不是主要支持对象了)。取而代之的是一套 QML Component 的实现方式。 本文就向大家介绍如何在 Meego 上控制横竖屏。
具体步骤
首先开发 Meego 程序需要安装 Meego 自己的 SDK,Meego SDK和 Qt SDK 的功能基本是差不多的,只不过它是专门用于开发 Meego 应用程序的。 首先新建一个Qt Quick Project -> Harmattan application。

目前新的Qt Component中有一个Page Element,它有一个 orientationLock 属性,这就是我们锁屏所用到的关键点,它具体包含有4个值
PageOrientation.Automatic (default)
PageOrientation.LockPortrait
PageOrientation.LockLandscape
PageOrientation.LockPrevious
分别是用于自动旋转,锁定竖屏,锁定横屏和保持之前屏幕状态的。
下面是main.qml
import QtQuick 1.1 
import com.meego 1.0

PageStackWindow{
id: appWindow
initialPage: MyOrientationPage{}
}
PageStackWindow是用于管理页面的,最初呈现在用户面前的是initialPage。
我们看下MyOrientationPage也就是initialPage是怎么写的:
import QtQuick 1.1 
import com.meego 1.0

Page {
id: orientationModePage
Text {
anchors.centerIn: parent
id: mytext
text: "Hello PageOrientation.LockPortrait"
font.pixelSize: 20
}

Component.onCompleted: {
orientationModePage.orientationLock = PageOrientation.LockPortrait

}
这个例子是把应用程序强制锁成竖屏状态,在页面创建之后将其orientationLock 赋值为 PageOrientation.LockPortrait。

你可能感兴趣的:(在Meego上控制横竖屏)