owanext

38
OwaNEXT HanGee 先進 UI 研究組

Upload: fred-chien

Post on 19-May-2015

398 views

Category:

Technology


0 download

DESCRIPTION

OwaNEXT is a project of HanGee, it aim to provide a easy way to design mobile UI with QML and JavaScript.

TRANSCRIPT

Page 1: OwaNEXT

OwaNEXTHanGee 先進 UI 研究組

Page 2: OwaNEXT

OwaNEXT開發先進的 UI 框架及工具

Page 3: OwaNEXT

讓不懂程式技術的設計師

可以短時間內快速打造出高品質的 UI

-- OwaNEXT

Page 4: OwaNEXT

Even so

僅管如此

Page 5: OwaNEXT

基礎知識

你還是必需要懂一點點

Page 6: OwaNEXT

基礎知識

QML

Page 7: OwaNEXT

基礎知識

JavaScript

Page 8: OwaNEXT

Anyway

總之

Page 9: OwaNEXT

Simple is enough

簡單理解已足夠

Page 10: OwaNEXT

你的第一支 App

直接動手做

Page 11: OwaNEXT

import QtQuick 2.0import QtQuick.Controls 1.0

ApplicationWindow { visible: true;

Rectangle { anchors.fill: parent; color: ‘white’; }}

Page 12: OwaNEXT

Rectangle { x: 100; y: 100; width: 200; height: 200; radius: 5; opacity: 0.5; gradient: Gradient { GradientStop { position: 0.0; color: ‘#000000’ } GradientStop { position: 1.0; color: ‘#ffffff’ } }}

Page 13: OwaNEXT

Image { x: 100; y: 100; width: 200; height: 200; source: ‘example.jpg’;}

Page 14: OwaNEXT

Text { font.bold: true; font.family: ‘Droid Sans’; font.italic: true; font.underline: true; font.strikeout: true; font.pointSize: 16; lineHeight: 2; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; text: ‘Hello World!’;}

Page 15: OwaNEXT

可拖曳的清單

ListView

Page 16: OwaNEXT

ListView { anchors.fill: parent; orientation: ListView.Vertical; delegate: Rectangle { width: parent.width; height: 50; color: bgcolor; } model: ListModel { ListElement { bgcolor: ‘red’ } …. ignore }}

Page 17: OwaNEXT

ListModel { ListElement { bgcolor: ‘red’ } ListElement { bgcolor: ‘yellow’ } ListElement { bgcolor: ‘white’ } ListElement { bgcolor: ‘blue’ } ListElement { bgcolor: ‘green’ } ListElement { bgcolor: ‘orange’ } ListElement { bgcolor: ‘black’ } ListElement { bgcolor: ‘gray’ }}

Page 18: OwaNEXT

網格狀的排版

GridView

Page 19: OwaNEXT

GridView { anchors.fill: parent; delegate: Rectangle { width: 50; height: 50; color: bgcolor; } model: ListModel { ListElement { bgcolor: ‘red’ } …. ignore }}

Page 20: OwaNEXT

拼裝自己的元件

Assembly

Page 21: OwaNEXT

Item { width: 100; height: 100;

Rectangle { anchors.fill: parent; color: ‘black’; }}

Page 22: OwaNEXT

Item { width: 100; height: 100;

Rectangle { … } Image { id: icon; anchors.fill: parent; anchors.margins: 10; anchors.bottomMargin: 20; source: ‘hangee.jpg’; }}

Page 23: OwaNEXT

Item { width: 100; height: 100;

Rectangle { … } Image { … } Text { anchors.top: icon.bottom; anchors.horizontalCenter: icon.horizontalCenter; text: ‘HanGee’; color: ‘white’; }}

Page 24: OwaNEXT
Page 25: OwaNEXT

怎麼做?

App Launcher

Page 26: OwaNEXT

使用自己的元件替換即可

App Launcher

Page 27: OwaNEXT

振奮人心的動畫

Animation

Page 28: OwaNEXT

SequentialAnimation { running: true; loops: Animation.Infinite;

NumberAnimation { target: image; properties: 'opacity'; from: 0; to: 1; duration: 1000; easing.type: Easing.OutQuad; }}

Page 29: OwaNEXT

SequentialAnimation { running: true; loops: Animation.Infinite;

NumberAnimation { ... } NumberAnimation { target: image; properties: 'opacity'; from: 1; to: 0; duration: 1000; easing.type: Easing.OutQuad; }}

Page 30: OwaNEXT

控制手機功能

OwaNEXT APIs

Page 31: OwaNEXT

Launcher 會用到的 API

HanGee.PackageManager

Page 32: OwaNEXT

getApps() 和 startApp()

HanGee.PackageManager

Page 33: OwaNEXT

● 取得應該顯示在 Launcher 介面上的 App 清單

HanGee.packageManager.getApps([ 'LAUNCHER' ]);

return: [ app1, app2, app3, … ]

● 執行指定 App

HanGee.packageManager.startApps(app);

Page 34: OwaNEXT

https://github.com/HanGee/OwaNEXT

More About OwaNEXT

Page 35: OwaNEXT

Need Your feedback

需要你的意見回饋

Page 36: OwaNEXT

To Improve Our Training

幫助我們把課程做的更好

Page 37: OwaNEXT

To Make People Be Able To Make App

讓更多人能開發 App 和設計 UI

Page 38: OwaNEXT

han-gee.com

HanGee 國民機運動