Upload
mohammad-shaker
View
868
Download
1
Embed Size (px)
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();