2012/02/15 android 4.0 ui design tips@happy designer meetup

63
Android 4.0 UI Design Tips Justin Lee

Upload: justin-lee

Post on 28-Jan-2015

106 views

Category:

Design


0 download

DESCRIPTION

這是我在Happy Designer Meetup 5演講的簡報。 內容包含Android 4.0在UI設計上的改變、設計訣竅與在Titanium Mobile內使用Javascript Module模擬ICS widget的方法。

TRANSCRIPT

Page 1: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Android 4.0 UI Design TipsJustin Lee

Page 2: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

0�+)%�� �#.1$/(����� �����2 �#.1,&!-*�

�"'��������

����������������������������������� ���������

Page 3: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Evolution of Android

Gingerbread Ice Cream SandwichHoneycombAndroid 2.3 Android 3.0 Android 4.0

Page 4: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

One OS for Smartphones & Tablets

Page 5: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

TopicsMajor UI ChangesDesign PatternsDo and Don’tICS widgets in Titanium Mobile

Page 6: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Major UI Changes

Page 7: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Fight for Fragmentation

Page 8: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Android is not easy to learn http://www.pocket-lint.com/news/40615/78-android-tips-beginners-set-up

Page 9: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Inconsistent hardware buttons is a big problem

Page 10: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

ICS drop hardware buttons

Gingerbread ICS

screen

Page 11: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Software Buttons are dynamic

Landscape Left

Landscape Right

Page 12: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Back Home Recents

Page 13: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

What’s missing?

Page 14: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Menu Button

Page 15: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Menu button is NOT longer a primary button

Gingerbread ICS

Page 16: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Quiz: How to goto settings page?

Page 17: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Not to many people can get it by themselves

Page 18: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

ICS make the menu much more easy to find

Page 19: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

The menu button in legacy app still available on ICS

Page 20: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

But it’s time to say goodbyehttp://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html

Page 21: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Migrate the global actions to the action bar & action overflow

Old New

Page 22: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Split action bar for contextual actions

Old New

Page 23: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Backwards compatibility

Legacy software

Legacy hardware

http://developer.android.com/design/patterns/compatibility.html

Page 24: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Back Button

Page 25: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

The behavior of back button is inconsistent from user’s POV

?

Page 26: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

In app navigation is much more predictable

Page 27: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Home Button

Page 28: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Home button perform too many functions before ICS

tap

long press

tap

Page 29: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

The only function of home button on ICS is going home

Page 30: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

How to goto a recent app?

Page 31: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Recents Button

Page 32: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Tap recents button to show recent app list

Page 33: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

The new recents screen

tap to switch

swipe to remove

Page 34: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Long press gesture changedOld New

Open contextual menu Select the item

Page 35: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

App UI Design Patterns

Page 36: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Common App UI

http://developer.android.com/design/get-started/ui-overview.html

1.Main Action Bar2.View Control3.Content Area4.Split Action Bar

Page 37: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

General App StructureTop level views

Category views

Detail/edit view

Page 38: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

New in ICS1.Navigation Bar

2.Action Bar

3.Multi-pane layouts

4.Selectionhttp://developer.android.com/design/patterns/new-4-0.html

Page 39: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Navigation

Back Up

In-app navigationsystem & in-app navigation

http://developer.android.com/design/patterns/navigation.html

Page 40: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Swipe ViewsSwiping Between Detail Views

Swiping Between Tabs

http://developer.android.com/design/patterns/swipe-views.html

Page 41: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Action Bar

http://developer.android.com/design/patterns/actionbar.html

1.App icon2.View Control3.Action Buttons4.Action overflow

Page 42: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Split Action Bars

http://developer.android.com/design/patterns/actionbar.html

1.Main action bar2.Top bar3.Bottom Bar

Page 43: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Multi-pane layouts

Smartphone Tablet

http://developer.android.com/design/patterns/multi-pane-layouts.html

Page 44: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Selection

Contextual action bar

Dynamically adjust CAB actions

http://developer.android.com/design/patterns/selection.html

Long press on an item in list to select

Page 45: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Notifications

http://developer.android.com/design/patterns/notifications.html

Page 46: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do and Don’t

Page 47: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do make the large, obvious tap targets

Touchable UI components are generally laid out along 48dp units.

http://developer.android.com/design/style/metrics-grids.htmlhttp://www.slideshare.net/AndroidDev/android-ui-design-tips

Page 48: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do use screen density independent units (dp)

http://developer.android.com/guide/practices/screens_support.html

not density independent (px)

density independent (dp)

Page 49: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do create versions of all resources for high density screens

http://developer.android.com/design/style/devices-displays.html

Page 50: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do properly handle orientation changes

http://developer.android.com/design/style/devices-displays.html

Stretch/compress

Stack

Expand/collapse

Show/hide

Page 51: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Do follow Android icon guideline

http://developer.android.com/design/style/iconography.html

LauncherLauncher

Action Bar

Page 52: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Don't mimic UI elements from other platforms

Android

iOS

Windows Phone 7

http://developer.android.com/design/patterns/pure-android.html

Page 53: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Don't mimic UI elements from other platforms

http://developer.android.com/design/patterns/pure-android.html

Android

iOS

Windows Phone 7

Page 54: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Don't use bottom tab bars

http://developer.android.com/design/patterns/pure-android.html

Page 55: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Don't use labeled back buttons on action bars

http://developer.android.com/design/patterns/pure-android.html

Page 56: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Don't use right-pointing carets on line items

http://developer.android.com/design/patterns/pure-android.html

Page 57: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

ICS widgets in Titanium Mobile

Page 58: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

There is no action bar yethttps://jira.appcelerator.org/browse/TIMOB-2371

Page 59: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

what to do?

Simulate it Extend the API

Javascript Module Native Module

Javascript Java + Javascript

Page 60: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

exports - a free variable within a module, to which multiple properties may be added to create a public interface

module.exports - an object within a module, which may be REPLACED by an object representing the public interface to the module

Common JS Module

Page 61: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Preparing for assethttp://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

Page 62: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Question?

Page 63: 2012/02/15 Android 4.0 UI Design Tips@happy designer meetup

Thank You!