Sailfish 응용 개발 입문(1)Application Window 와 Cover

6098 단어 application
1.Sailfish Silica 는 QT Quick 을 바탕 으로 Sailfish 의 UI 인터페이스 를 제공 합 니 다.모든 Sailfish 인용 은 Qt C++응용 프로그램 으로 정의 되 어야 하 며,프로젝트 에 서 는 QDeclarativeView 로 응용 UI 를 불 러 옵 니 다.
      
#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 {} }

 }

 
 
 
 

좋은 웹페이지 즐겨찾기