marano software

Post on 07-Jan-2016

59 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Windows Mobile 6.5 - мощная платформа для создания привлекательного и функционального интерфейса в ваших мобильных приложениях. Marano Software. Microsoft RUS. Марат Бакиров. Виталий Дильмухаметов. Вопросы. Может ли Windows Mobile приложение выглядеть красиво? - PowerPoint PPT Presentation

TRANSCRIPT

http://msplatforma.ru

Microsoft Платформа 2010 2

Windows Mobile 6.5 - мощная платформа для создания привлекательного и функционального интерфейса в ваших мобильных приложениях

Marano SoftwareMicrosoft RUS

Марат БакировВиталий

Дильмухаметов

http://msplatforma.ru

Microsoft Платформа 2010 3

Вопросы

Может ли Windows Mobile приложение выглядеть красиво?Кто из Вас имеет опыт native (C++) разработки для Windows Mobile?Кто из Вас имеет опыт разработки на .NET CF?Кто из Вас знает что такое pinvoke?.

http://msplatforma.ru

Microsoft Платформа 2010 4

Содержание

Тенденции мобильных интерфейсовПолупрозрачность и градиентUI FrameworkПоддержка жестов в WM 6.5Управляемая обертка для жестовСоздание Widgets

http://msplatforma.ru

Microsoft Платформа 2010 6

Вопрос

Что такое красивое приложение?

http://msplatforma.ru

Microsoft Платформа 2010 7

Тенденции интерфейсов

http://msplatforma.ru

Microsoft Платформа 2010 8

Тенденции интерфейсов

http://msplatforma.ru

Microsoft Платформа 2010 9

Тенденции интерфейсов

http://msplatforma.ru

Microsoft Платформа 2010 10

Тенденции интерфейсов

http://msplatforma.ru

Microsoft Платформа 2010 11

Тенденции интерфейсов - выводы

Прозрачные изображенияПрямоугольные элементы с закругленными угламиЭлементы с градиентной заливкойФоновые изображения

http://msplatforma.ru

Microsoft Платформа 2010 12

Прозрачность бывает разная

Прозрачный цветПрозрачный рендеринг изображения

http://msplatforma.ru

Microsoft Платформа 2010 13

Осуществление прозрачности

Фон изображения закрашивается каким-либо цветом и обьявляется прозрачным

Поддерживается в .NET CF:

ImageAttributes attr = new ImageAttributes();

attr.SetColorKey(Color.Red, Color.Red); e.Graphics.DrawImage(bmp, destRect, 0, 0, bmp.Width, bmp.Height, GrahicsUnit.Pixel, attr)

http://msplatforma.ru

Microsoft Платформа 2010 14

Осуществление прозрачности

Все изображение прозрачноеСмешивание по альфа-каналу

Поддерживаеться Windows Mobile платформой:

[DllImport("coredll.dll") extern public static Int32 AlphaBlend(IntPtr hdcDest,

               Int32 xDest, Int32 yDest, Int32 cxDest,               Int32 cyDest, IntPtr hdcSrc,  Int32 xSrc,               Int32 ySrc, Int32 cxSrc, Int32 cySrc, BlendFunction blendFunction);

http://msplatforma.ru

Microsoft Платформа 2010 15

Осуществление прозрачности

Изображение содержит альфа-канал

Поддерживаеться Windows Mobile платформой через Imaging API’s COM интерфейсы:

IImagingFactory IImage

http://msplatforma.ru

Microsoft Платформа 2010 16

Градиентная заливка

Создается смешиванием двух или нескольких цветов, причем один цвет плавно переходит в другой.Поддерживаеться Windows Mobile платформой:

[DllImport("coredll.dll")]

public extern static bool GradientFill( IntPtr hdc, TRIVERTEX[] pVertex, uint dwNumVertex, GRADIENT_RECT[] pMesh, uint dwNumMesh, uint dwMode);

http://msplatforma.ru

Microsoft Платформа 2010 17

Как?http://code.msdn.microsoft.com/uiframework

Msdn.UIПрозрачность, градиенты, title bar

Подстройка существующего UI.DataGrid, ListView, CustomBorder.

http://msplatforma.ru

Microsoft Платформа 2010 18

Виталий Дильмухаметов

Marano Software

Демонстрация

UI Framework

http://msplatforma.ru

Microsoft Платформа 2010 19

Поговорим о жестах

Жесты это не только касание, но и взаимодействие.Касание пальцем не является точным:

Форма и размерРазная скорость и угол движенияМенее точное чем пером (stylus)

http://msplatforma.ru

Microsoft Платформа 2010 20

WM 6.5 элементы управления и жесты

ListviewListbox (включая combo)WebviewTreeviewTab (прокрутки налево/направо чтобы поменять страницу)

http://msplatforma.ru

Microsoft Платформа 2010 21

Как жесты работают в WM 6.5

Жесты!= Mouse MessagesЖесты, доставляются к окну первого касаниясообщение WM_GESTUREwParam Содержит код типа жестаlParam Содержит GESTUREINFO структуру

http://msplatforma.ru

Microsoft Платформа 2010 22

Поддерживаемые типы жестов

Панорамирование (Pan)Прокрутка (Scroll) – Инерция после панорамированияВыбор (tap)Двойной выбор (Double-tap)Задержка (Hold)

http://msplatforma.ru

Microsoft Платформа 2010 23

Managed WrapperGestureRecognizer

Добавляется к System.Windows.Forms.ControlРаботает чере P/InvokeИспользует сообщения WM_GESTUREПредоставляет управляемые (.NET) события

var g = new GestureRecognizer();g.TargetControl = panel1;g.Select += (sender, GestureEventArgs e) => …g.DoubleSelect += (sender, GestureEventArgs e) => …g.Hold += (sender, GestureEventArgs e) => …g.Pan += (sender, GestureEventArgs e) => …g.Scroll += (sender, GestureScrollEventArgs e) => …

http://msplatforma.ru

Microsoft Платформа 2010 24

Physics Engine

Обеспечивает “естественное” ощущение во время прокрутки.Продолжает прокрутку и уменьшает скорость в зависимости от начального ускорения.Обеспечивает эффект растянутой резины.Также обеспечивает допустимую остановку основаную на размере елемента.

http://msplatforma.ru

Microsoft Платформа 2010 26

Managed WrapperPhysicsEngine

Использует PhsyicsEngine API через P/InvokeПредоставляет управляемое событие AnimateFrame

var p = new PhysicsEngine();p.ExtentControl = pictureBox1;p.ViewportControl = panel1;…g.Scroll += (sender, GestureScrollEventArgs e){ p.Stop(); p.Angle = e.Angle; p.Velocity = e.Velocity; p.Start(); // or p.Start(e.Angle, e.Velocity);};

http://msplatforma.ru

Microsoft Платформа 2010 27

Автоматические жесты (WAG)

Автоматизирует сценарии использования жестов.Поддерживается любым окном со стилем WS_VSCROLL или WS_HSCROLLПоддерживает отправку WM_VSCROLL/WM_HSCROLL сообщений или анимации

http://msplatforma.ru

Microsoft Платформа 2010 28

Managed WrapperAutoGestureContext

Работает через WAGI API и P/InvokeУправляемое событие Status и OwnerAnimate

var wag = AutoGestureContext.GetContext(panel1);wag.IsOwnerAnimated = true;wag.HorizontalExtent = 10; // percentwag.OwnerAnimate += (sender, AutoGestureAnimateEventArgs e){ pictureBox1.Location = e.Location;};wag.Status += (sender, AutoGestureStatusEventArgs e){ label1.Text = e.Status.ToString() + “ “ + e.ExtraStatus.ToString();};

http://msplatforma.ru

Microsoft Платформа 2010 29

Марат Бакиров

Microsoft Rus.

Демонстрация

Gesture Framework

http://msplatforma.ru

Microsoft Платформа 2010 30

Что такое Widget?Небольшoe одноцельное мини-приложениe

http://msplatforma.ru

Microsoft Платформа 2010 31

Widgets на мобильных устройствах

http://msplatforma.ru

Microsoft Платформа 2010 32

Что они могут делать?

Выглядят также как и родные приложенияДоступ к ограниченым данным устройства за пределами изолированной программной средыПолная поддержка AJAX, родной JSON парсер, можно использовать элементы управления ActiveX (как Flash)

http://msplatforma.ru

Microsoft Платформа 2010 33

Что там под капотом?

Widget Package

Widgets RuntimePowered by

Internet Explorer Mobile

Web Rendering

Engine

Plug-ins

Script Engine

JavaScriptDevice Extensions

Flash

MSXML

Windows Media

SettingsStorage

Secu

rity

Brok

er

Menu

HTML

JavaScript

CSS

Images

XML Manifest

http://msplatforma.ru

Microsoft Платформа 2010 34

За пределами изолированной программной средыДоступ к информации о текущем

состоянии устройстваCradlePresentPhoneHomeServicePhoneRoamingPhoneSignalStrengthPhoneOperatorNameDisplayRotationPowerBatteryStrengthPowerBatteryState

http://msplatforma.ru

Microsoft Платформа 2010 35

Создание Widgetов

1 2 3

Create Package

Deploy

Design and develop the user

experience

Distribute it on the Windows Marketplace

Create the XML

Manifest Transfer to device and

install

Package as Zip,

renamed to .widget

http://msplatforma.ru

Microsoft Платформа 2010 36

Виталий Дильмухаметов

Marano Software

Демонстрация

Создание простого Widget(a)

http://msplatforma.ru

Microsoft Платформа 2010 37

Итоги

Тенденции мобильных интерфейсовПолупрозрачность и градиентUI FrameworkПоддержка жестов в WM 6.5Управляемая обертка для жестовСоздание Widgets

http://msplatforma.ru

Microsoft Платформа 2010 38

Ресурсы ENG

UI Framework: http://code.msdn.microsoft.com/

uiframeworkGesture Framework:

http://code.msdn.microsoft.com/gestureswmРазработка Widgets:

http://msdn.microsoft.com/en-us/library/dd721906.aspx

http://msplatforma.ru

Microsoft Платформа 2010 39

Ресурсы RUS

Руссский блог Windows Mobilehttp://blogs.msdn.com/windowsmobile_ru/

Конкурс приложений для Windows Mobilewww.wmdev.ru

http://msplatforma.ru

Microsoft Платформа 2010 40

Вопросы

Марат Бакировhttp://blogs.msdn.com/mbakirov

Виталий Дильмухаметовhttp://blogs.gotdnotnet.ru/personal/grp

{Александр Яхнин}http://blogs.msdn.com/priozersk/

Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада

top related