Android L07 - Touch, Screen and Wearables

Preview:

Citation preview

CloudInteraction Design

Android

Touch and Gestures

UI Elements Size for Touch

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Mobile Screen ”HOT” Areas/ Reachability/ Handedness

Touch and Gestures

• One Movement Trace per Touch Source (Pointer)• Pointer ↔ Id• Pointer <> index (change over the time)

Touch and Gestures Example

Touch and Gestures Example

Screen Sizes

Screen Sizes

Portraitvs

LandScape

Portrait vs. LandScape

Portrait vs. LandScape

Alternate Layouts

Alternate Layouts

Alternate Layouts

Alternate Layouts

Alternate Layouts [Running]

Changing OrientationSome device configurations can change during runtime (such as screen

orientation, keyboard availability, and language). When such a change occurs, Android restarts the running Activity (onDestroy() is called, followed by

onCreate()).

Changing OrientationThe restart behavior is designed to help your application adapt to new

configurations by automatically reloading your application with alternative resources that match the new device configuration.

Changing OrientationonSaveInstanceState()

Changing OrientationonCreate() or onRestoreInstanceState().

Retaining an Object During a Configuration Change

http://developer.android.com/guide/topics/resources/runtime-­‐changes.html#RetainingAnObject

Retaining an Object During a Configuration Change

Retaining an Object During a Configuration Change

Multi-device Targeting

First learn what/is/for

Tablets

• 74% at home.• For reading, games, consuming content.

Tablets

• 74% at home.• For reading, games, consuming content.

Tablets

iPad Pro

Tablets

iPad Pro + Pencil

Devices – Web Apps

Devices – Native Apps

wrap_content and match_parent

Relative_layout

Wearables

Wearables

Add Pre-defined Text Responses

Receiving Voice Input in a Notification

Receiving Voice Input in a Notification//  Key  for  the  string  that's  delivered  in  the  action's  intentprivate  static  final  String  EXTRA_VOICE_REPLY  =  "extra_voice_reply";

String  replyLabel =  getResources().getString(R.string.reply_label);

RemoteInput remoteInput =  new  RemoteInput.Builder(EXTRA_VOICE_REPLY).setLabel(replyLabel).build();