Sailfish 응용 개발 입문(1)Application Window 와 Cover
6098 단어 application
#include <QApplication>
#include <QDeclarativeView>
#include "sailfishapplication.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(Sailfish::createApplication(argc, argv));
QScopedPointer<QDeclarativeView> view(Sailfish::createView("main.qml"));
Sailfish::showView(view.data());
view->showFullScreen();
return app->exec();
}
2.Sailfish 는 다 중 태 스 크 시스템 으로 모든 응용 은 두 가지 상태 가 있 습 니 다.Active 와 Background 활성:사용 가능 한 모든 화면 점용 Backgroud:홈 화면 에 표시 하려 고 합 니 다(home screen)
응용 프로그램 Window.applicationActive 속성 을 사용 하여 응용 상 태 를 가 져 올 수 있 습 니 다.프론트 데스크 에서 실행 되면 상 태 는 true 이 고 배경 에서 실행 되면 상 태 는 false 입 니 다. 주:배경 에서 실행 되 는 응용 은 최소 자원 의 점용 을 확보 해 야 합 니 다.예 를 들 어 모든 자원 은 일시 정지 하고 쓸모없는 자원 을 방출 해 야 합 니 다.
import QtQuick 1.1
import Sailfish.Silica 1.0
import "pages"
ApplicationWindow
{
initialPage: Page {
Label {
text: "Hello Micky!"
anchors.centerIn: parent
RotationAnimation on rotation {
from: 0
to: 360
duration: 2000
loops: Animation.Infinite
running: applicationActive
}
}
}
}
Sailfish OS 에서 실행 중인 모든 응용 프로그램 은 메 인 인터페이스 에서'Cover'형식 으로 표시 할 수 있 습 니 다.응용 프로그램 이 배경 으로 옮 겨 지면 Cover 가 자동 으로 생 성 되 고 표 시 됩 니 다.응용 프로그램 Window.cover 속성 을 통 해 응용 cover 를 가 져 옵 니 다.이 속성 은 구성 요소 에 cover 를 homescreen 에 표시 하도록 설정 해 야 합 니 다.현재 상 태 를 표시 해 야 합 니 다.응용 프로그램 은 상태 에 따라 cover 를 업데이트 할 수 있 습 니 다.어쨌든 cover 에 애니메이션 을 표시 해 서 는 안 됩 니 다.응용 프로그램 이 프론트 데스크 톱 으로 돌아 갈 때 cover 는 자동 으로 숨겨 집 니 다. 하나의 응용 프로그램 은 항상 cover 를 갖 추어 야 한다.Sailfish OS 에서 실행 중인 모든 응용 프로그램 은 메 인 인터페이스 에서'Cover'형식 으로 표시 할 수 있 습 니 다.응용 프로그램 이 배경 으로 옮 겨 지면 Cover 가 자동 으로 생 성 되 고 표 시 됩 니 다.응용 프로그램 Window.cover 속성 을 통 해 응용 cover 를 가 져 옵 니 다.이 속성 은 구성 요소 에 cover 를 homescreen 에 표시 하도록 설정 해 야 합 니 다.현재 상 태 를 표시 해 야 합 니 다.응용 프로그램 은 상태 에 따라 cover 를 업데이트 할 수 있 습 니 다.어쨌든 cover 에 애니메이션 을 표시 해 서 는 안 됩 니 다.응용 프로그램 이 프론트 데스크 톱 으로 돌아 갈 때 cover 는 자동 으로 숨겨 집 니 다. CoverActionList 는 cover action 을 설정 하 는 데 사 용 됩 니 다.하나의 CoverActionList 는 최대 두 개의 CoverAction 요 소 를 포함 할 수 있 습 니 다.하나의 응용 프로그램 은 항상 cover 를 갖 추어 야 한다. 공식 예시:
CoverActionList {
enabled: mode == "music"
CoverAction {
iconSource: player.playing ? "pause.png" : "play.png"
onTriggered: player.togglePlaying()
}
CoverAction {
iconSource: "next.png"
onTriggered: player.nextSong()
}
}
Application Window 는 Sailfish 응용 최상 위 구성 요소 입 니 다.모든 Sailfish 응용 프로그램 은 ui 의 루트 층 에 하나의 응용 프로그램 Window 구성 요소 만 정의 되 어야 합 니 다.이것 은 app 의 입구 입 니 다.주요 기능: 1.app 의 page 관리 2.app 의 active cover page 설정 3.app 배경 그림 설정 4.가로 세로 화면 전환 을 처리 하 는 대부분의 application window 는 initial Page 를 포함 하여 app 이 열 렸 을 때 표시 하 는 page 를 지정 합 니 다.3.ApplicationWindow 는 Sailfish 응용 최상 위 구성 요소 입 니 다.모든 Sailfish 응용 프로그램 은 ui 의 루트 층 에 하나의 응용 프로그램 Window 구성 요소 만 정의 되 어야 합 니 다.이것 은 app 의 입구 입 니 다. 주요 기능: 1.app 의 page 관리 2.app 의 active cover page 설정 3.app 배경 그림 설정 4.가로 세로 화면 전환 처리 대부분의 application window 는 initial Page 를 포함 하고 있 으 며,app 이 열 렸 을 때 표시 되 는 page 를 지정 합 니 다.
모든 application window 는 하나의 page stack 을 포함 하고 있 으 며,pageStack 속성 에 접근 하여 app 이 표시 하 는 페이지 를 결정 할 수 있 습 니 다.page stack 은 page 대상 으로 구성 되 어 있 으 며,각 page 는 특정한 시간 에 표 시 된 내용 을 포함 하고 있 습 니 다.하나의 페이지 는 stack 에 추가 되 거나 stack 에서 제거 할 수 있 습 니 다.app 이 표시 하고 있 는 페이지 는 page stack 의 마지막 으로 추 가 된 page 입 니 다.
다음 코드 와 같이 열 렸 을 때 단 추 를 표시 합 니 다.단 추 를 누 르 면 AnotherPage.qml 를 표시 하 는 내용 으로 전환 합 니 다.
// main.qml
import QtQuick 1.1
import Sailfish.Silica 1.0
ApplicationWindow {
initialPage: Component {
Page {
Button {
text: "Ahoy!"
onClicked: pageStack.push("AnotherPage.qml")
}
}
}
}
모든 Sailfish app 은 cover 속성 을 통 해 자신의 active cover 를 정의 할 수 있 습 니 다.배경 에서 실 행 될 때 active cover 는 home screen 인터페이스 에 표 시 됩 니 다.
ApplicationWindow {
initialPage: Component { MyPage {} }
cover: Component { MyCover {} }
}
app 에서 개발 자 는 allowedOrientations 설정 을 사용 하여 가로 세로 화면 전환 을 할 수 있 습 니까? ApplicationWindow 의 속성: allowedOrientations : enumeration • Orientation.Portrait • Orientation.Landscape • Orientation.PortraitInverted • Orientation.LandscapeInverted • Orientation.All applicationActive : bool 프론트 데스크 에서 실 행 될 때 true 이 고 배경 에서 실 행 될 때 cover 가 표 시 될 때 false 입 니 다.
bottomMargin : real
contentItem : Item 애플 리 케 이 션 window 내부 에 포 함 된 하위 아 이 템 입 니 다.
deviceOrientation : enumeration 화면 방향 을 바 꿉 니 다.속성 값 은 allowed Orientations 의 네 가지 유형 과 같 습 니 다.
orientation : enumeration 화면 방향
initialPage : variant
pageStack : PageStack
cover : variant
screenRotation : real
응용 프로그램 윈도 방법: ApplicationWindow::activate () 앱 을 프론트 에서 실행 하도록 합 니 다. ApplicationWindow::deactivate () 앱 을 배경 에서 실행 시 키 고 앱 을 active cover 로 홈 인터페이스 에 최소 화 합 니 다.
ApplicationWindow {
initialPage: Component { MyPage {} }
cover: Component { MyCover {} }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pre-Query SamplesValidate the current query criteria or provide additional query criteria programmatically, just before sending the SELEC...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.