조막만한 화면부터 대박만한 화면까지 고생 끝 적응(adaptive ui) 시작! -...

39
http://windows.Microsoft.com Developer’s guide to Windows 10 조막만한 화면부터 대박만한 화면까지 고생 끝 적응( ) 시작 권영철 / MVP + 바이널아이 ! Adaptive UI

Upload: -

Post on 14-Apr-2017

467 views

Category:

Software


6 download

TRANSCRIPT

Page 1: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Developer’s guide to Windows 10

조막만한 화면부터 대박만한 화면까지

고생 끝 적응( ) 시작

권영철 / MVP + 바이널아이

!Adaptive UI

Page 2: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Phone Small Tablet2-in-1s

(Tablet or Laptop)Desktops

& All-in-OnesPhablet Large TabletClassic Laptop

Xbox IoTSurface Hub Holographic

Windows 10

Page 3: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Agenda

Adaptive UI는?

Adaptive UI를 위한 도구

Agenda

Page 4: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Adaptive UI 이야기

Page 5: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

(반응)

Page 6: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

(적응)

Page 7: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

(확대/축소)

Page 8: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Tailored design(맞춤)

특별한 장치에는 특별한 경험을(그에 걸맞는)

Phone (portrait)

Tablet (landscape) / Desktop

Page 9: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Tailored(맞춤)

각각따로따로, 완전히분리Use MRT in App.xaml.cs to determine the family

한손인터페이스?Typically phone or small tablets

Test diagonal screen size (<7")

if (physical_diagonal_size <= 7)

// optimized for one-handed operation

rootFrame.Navigate(typeof(MainPage_OneHanded), e.Arguments);

else

rootFrame.Navigate(typeof(MainPage), e.Arguments);

Page 10: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Multi-headed solution? 다행히 살아 남았습니다.

Page 11: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

특정타깃을집중공략하는앱솔루션

Page 12: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Adaptive UI를위한도구

Page 13: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual States

XAML 뷰를 정의Unique layout for distinct states

Animation은 심플하게Automatically implement state transitions

모든 건 Blend for VS를 이용해서Design and preview states and transitions

Page 14: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual States

Page 15: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Page 16: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual States

Page 17: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual States

Page 18: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual States

Page 19: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

DEMO

Visual states

Page 20: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Visual states View의 변화를 책임집니다.

Page 21: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

DEMO

Visual States Manager

Page 22: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

How to set the visual state

VisualStateManager.GotoState(element, state, transition)

public MainPage(){

this.InitializeComponent();this.SizeChanged += (s, e) =>{

var state = "VisualState000min";if (e.NewSize.Width > 500)

state = "VisualState500min";else if (e.NewSize.Width > 800)

state = "VisualState800min";else if (e.NewSize.Width > 1000)

state = "VisualState1000min";VisualStateManager.GoToState(this, state, true);

};}

Page 23: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

DEMO

Adaptive triggers

Page 24: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Adaptive triggers 이거 하나면 코드가 필요없습니다.

Page 25: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Adaptive triggers

코드 몰라도 상태 변경 가능

기본 제공되는 트리거가 2개MinWindowHeight (Taller than this)

MinWindowWidth (Wider than this)

<VisualState x:Name="VisualState500min"><VisualState.StateTriggers>

<AdaptiveTrigger MinWindowWidth="501" /></VisualState.StateTriggers>

</VisualState>

Page 26: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

DEMO

Custom triggers

Page 27: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Custom triggers별의별 시나리오를 싹다 지원합니다.

Page 28: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

WindowsStateTriggers

A collection of custom visual state triggers

Morten Nielsen, MVP + community

GitHub, MIT license

Based on StateTriggerBase class

https://github.com/dotMorten/WindowsStateTriggers

http://www.sharpgis.net/post/2015/03/24/Using-Custom-Visual-State-Triggers

Page 29: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

WindowsStateTriggers

DeviceFamilyStateTrigger

NetworkConnectionStateTrigger

OrientationStateTrigger

IsTrueStateTrigger (IsActive)

IsFalseStateTrigger

IsNullOrEmptyStateTrigger

IsTypePresentStateTrigger

EqualsStateTrigger

NotEqualStateTrigger

CompareStateTrigger

InputTypeTrigger

RegexStateTrigger

ComposisiteStateTrigger

Currently available triggers

Page 30: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Visual state setters

Scalar 값을설정하는데사용Great when you think of ENUM values like Visibility, Stretch, etc

Storyboard를호출하지않음Does not require ObjectAnimationUsingKeyFrames

<VisualState.Setters><Setter Target="MyText01.FontSize" Value="24" /><Setter Target="MyImage.Stretch" Value="UniformToFill" /><Setter Target="MyImage.Height" Value="150" />

</VisualState.Setters>

Page 31: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

XAML's RelativePanel control

하위 요소 또는 두 행위가 앵커 역할을 담당They are relative to the panel

그 앵커를 기준으로 다른 요소들을 정의RelativePanel.Above = "ElementName"

RelativePanel.RightOf = "ElementName"

RelativePanel.Below = "ElementName"

RelativePanel.LeftOf = "ElementName"

Adaptive UI를 쉽게 표현A simple Visual State setter can rearrange the UI

One element can move a family of related elements

Page 32: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

DEMO

Relative Panel

Page 33: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

Adaptive UI선택이 아닌 필수입니다.

Page 34: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Review

Adaptive UI는?

Adaptive UI를 위한 도구

Review

Page 35: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

ReviewSource

https://channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10

http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10

Source

Page 36: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

ReviewSourceSource

Page 37: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

http://windows.Microsoft.com

Review광고

[email protected]

Page 38: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

권영철[email protected]

Page 39: 조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015

감사합니다.• MSDN Forum http://aka.ms/msdnforum

• TechNet Forum http://aka.ms/technetforum