CS378 - Mobile Computing More UI - Part 2. Special Menus Two special application menus – options menu – context menu Options menu replaced by action bar.

Slides:



Advertisements
Similar presentations
CE881: Mobile and Social Application Programming Simon M. Lucas Menus and Dialogs.
Advertisements

Android Using Menus Yuliana Setiowati Rizky Yuniar Hakkun Ahmad Syauqi Ahsan 1Politeknik Elektronika Negeri Surabaya.
ANDROID – GESTURES L. Grewe. What and why  a great way to interact with applications on mobile devices.  With a touch screen, users can easily tap,
®® Microsoft Windows 7 for Power Users Tutorial 2 Customizing Microsoft Windows 7.
 User Interface - Raeha Sandalwala.  Introduction to UI  Layouts  UI Controls  Menus and ‘Toasts’  Notifications  Other interesting UIs ◦ ListView.
Introducing Cascading Style Sheets  Cascading Style Sheet Basics  Creating Styles  Using Styles  Manipulating Styles  Text Formatting with CSS.
Filip Debelić What is it? Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google Android,
Exploring the Basics of Windows XP. Objectives Start Windows XP and tour the desktop Explore the Start menu Run software programs, switch between them,
Android Programming Beomjoo Seo Sep., 12 CS5248 Fall 2012.
Android Development (Basics)
Getting Started with Adobe Dreamweaver CS6. Unit Objectives Define web design software Start Adobe Dreamweaver CS6 View the Dreamweaver workspace Work.
Android Application Development 2013 PClassic Chris Murphy 1.
Android Fragments A very brief introduction Android Fragments1.
CS378 - Mobile Computing What's Next?. Fragments Added in Android 3.0, a release aimed at tablets A fragment is a portion of the UI in an Activity multiple.
Android Boot Camp for Developers Using Java, Comprehensive: A Guide to Creating Your First Android Apps Chapter 9: Customize! Navigating with a Master/Detail.
 Understanding an activity  Starting an activity  Passing information between activities  Understanding intents  Understanding the activity lifecycle.
CS5103 Software Engineering Lecture 08 Android Development II.
ANDROID UI – FRAGMENTS. Fragment  An activity is a container for views  When you have a larger screen device than a phone –like a tablet it can look.
CS378 - Mobile Computing Web - WebView and Web Services.
Chapter 5: Investigate! Lists, Arrays, and Web Browsers.
Chapter 9: Customize! Navigating with Tabs on a Tablet App.
INTRODUCTION TO HTML5 CSS Styles. Understanding Style Sheets  HTML5 enables you to define many different types of content on a web page, including headings,
Favorite Twitter® Searches App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
Introduction to Mobile Programming. Slide 2 Overview Fundamentally, it all works the same way You get the SDK for the device (Droid, Windows, Apple) You.
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Chapter 5 Creating User Interfaces GOALS and OBJECTIVES Begin our application by creating our user interface. More than one way to create a user interface.
Basic Android Tutorial USF’s Association for Computing Machinery.
Website Development with Dreamweaver
Doodlz App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
@2011 Mihail L. Sichitiu1 Android Introduction GUI Menu Many thanks to Jun Bum Lim for his help with this tutorial.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
© by Pearson Education, Inc. All Rights Reserved. 1 Introduction to Android From “Android: How to Program” By Paul Deitel and Harvey Deitel.
SpotOn Game App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
Programming Mobile Applications with Android September, Albacete, Spain Jesus Martínez-Gómez.
Android – Fragments L. Grewe.
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
5-1 More UI CSNB544 Mobile Application Development Thanks to Utexas Austin.
Creating an Example Android App in Android Studio Activity lifecycle & UI Resources.
Mobile Programming Lecture 12 HierarchyViewer, Linkify, Gestures, and Version Control.
HW#9 Clues CSCI 571 Fall, HW#9 Prototype
Internet Explorer 10 IE9 hardware-accelerated platform CSS 2D Transforms CSS Backgrounds & Borders CSS Color CSS Fonts CSS Media Queries CSS Namespaces.
CS378 - Mobile Computing More UI - Part 2. Special Menus Two special application menus – options menu – context menu Options menu replaced by action bar.
CS378 - Mobile Computing User Interface Basics. User Interface Elements View – Control – ViewGroup Layout Widget (Compound Control) Many pre built Views.
More UI Action Bar, Navigation, and Fragments
Intoduction to Andriod studio Environment With a hello world program.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
CHAPTER 4 Fragments ActionBar Menus. Explore how to build applications that use an ActionBar and Fragments Understand the Fragment lifecycle Learn to.
CHAPTER 7 TouchGestures. Chapter objectives: To code the detection of and response to touch gestures. Patterns of common touches to create touch gestures.
Desktop Publishing Lesson 1 — Working with Documents.
School of Engineering and Information and Communication Technology KIT305/KIT607 Mobile Application Development Android OS –Permissions (cont.), Fragments,
Cosc 5/4730 Support design library. Support Design library Adds (API 9+) back support to a number of 5.0 lollipop widgets and material design pieces –
Building UI Components Димитър Н. Димитров Astea Solutions AD.
UI Redux, Navigation Patterns, Tabbed Views, Pagers, Drawers
CS371m - Mobile Computing Gestures. Common Gestures 2.
Mobile Applications (Android Programming)
TUTORIAL ON MULTITOUCH AND SWIPE GESTURES
Android Studio, Android System Basics and Git
Creation of an Android App By Keith Lynn
Mobile Application Development Chapter 4 [Android Navigation and Interface Design] IT448-Fall 2017 IT448- Fall2017.
Politeknik Elektronika Negeri Surabaya
Mobile Application Development BSCS-7 Lecture # 11
Mobile Computing With Android ACST 4550 Android Logs and Gestures
Cannon Game App Android How to Program
CS371m - Mobile Computing Gestures.
Android Developer Fundamentals V2
Mobile Programming Gestures in Android.
Mobile Programming Dr. Mohsin Ali Memon.
Mobile Programmming Dr. Mohsin Ali Memon.
Presentation transcript:

CS378 - Mobile Computing More UI - Part 2

Special Menus Two special application menus – options menu – context menu Options menu replaced by action bar (API 11) menuaction bar 2

OptionsMenu User presses Menu Button Activities onCreateOptionsMenu method is called In example options_menu.xml in res/menu folder 3

OptionsMenu Alternate creation of OptionsMenu add item to menu programmatically chained method calls 4

SubMenus Option on Menu may be creation of a SubMenu In XML nest menu inside menu or programmatically by adding SubMenus to Menu in onCreateOptionsMenu method 5

Menu Options Selected if Menu Option is another Activity it is launched when Menu button pressed – The Big About in previous example For other items – onOptionsItemSelected(MenuItem item) 6

ACTION BAR 7

ActionBar Introduced in Android 3.0 – Honeycomb, tablet only 4.0, Ice Cream Sandwich, tablet and phones "The action bar is a window feature that identifies the application and user location, and provides user actions and navigation modes" 8

Purpose of ActionBar identification navigation actions Overflow Menu Navigation Tabs Action Item Icon / Logo 9

ActionBar ActionBar items declared in menu.xml 10

ActionBar If menu items declared in xml, added to menu in order they appear Extra items brought up with overflow button 11

Navigation Tabs Used to switch between fragments 12

ContextMenu pre 3.0, aka Floating Menus subtype of Menu display when a long press is performed on a View – Activity is a descendant of View – Activity may be broken up into multiple views implement onCreateContextMenu method must call registerForContextMenu method and pass View 13

ContextMenu From Tip Calculator Long press on total amount EditText Default behavior for EditText Nothing added in TipCalculator to create this 14

Contextual Action Mode 3.0 and later 15

STYLES 16

Styles Defined in XML file res/values/style similar to a cascading style sheet as used in html group layout attributes in a style and apply to various View objects (TextView, EditText, Button) 17

Sample Styles, in styles.xml 18

Apply Style - in main xml 19

Result of Styles can override elements of style – bottom edit text overrides color one style can inherit from another use UI editor to create view and then extract to style 20

GESTURES 21

Common Gestures 22

Common Gestures 23

Common Gestures Fling or flick gesture: similar to swipe or drag scroll/swipe/drag – user presses then moves finger in s steady motion before lifting finger fling or flick – user presses then moves finger in an accelerating motion before lifting 24

Dealing With Gestures To handle simple touch events create View.OnTouchListener for view Example from tutorial, screen press leads to player moving if it is their turn and they touch an open square 25

onTouchEvent passed a MotionEvent object with a large amount of data in tic tac toe tutorial you only used location of event (x and y) View also has ability to listener for long clicks and drags 26

Handling Common Gestures Instead of trying to decode gestures from the MotionEvent passed to on touch … Use the GestureDetector class Add a GestureDetector object to View override View.onTouchEvent method to pass MotionEvent on to the GestureDetector.onTouchEvent method 27

Handling Common Gestures create a GestureDetector.OnGestureListener (several gestures) or a GestureDetector.SimpleOnGestureListener ( more gestures) and register it with the GesturerDetector callback methods for onLongPress, onScroll, onFling, onSingleTapConfirmed, others 28

Simple Gesture Demo App that listens for simple gestures update lower TextView in call back methods 29

Gesture Demo 30

Gesture Demo Recall, Graphics Demo overrode onTouchEvent and displayed new random grid when down event occurred Here, simply pass event on to the GestureDetectorCompat object – it will call back methods 31

Callback Methods for OnGestureListener 32

Callback Methods for OnGestureListener 33

Callback Methods for DoubleTapListener 34

Multi Touch Gestures Multiple fingers (pointers) touch screen at same time Handled via MotionEvents each pointer (finger) has a MotionEvent track via index (in array of MotionEvents) or ID MotionEvent object sent to onTouch contains number of "pointers" involved 35

Displaying Multitouch data static methods from MotionEventCompat class 36

Scale Gestures ScaleGestureDetector class from Api level 8 (API 2.2) pinch to zoom in our out out -> scale up in -> scale down 37

Scale Gestures Create class that implements ScaleGestureDetector.OnScaleGestureListener OR create class that extends ScaleGestureDetector.SimpleOnScaleGestureListener – adapter class – implements methods from OnScaleGestureListener with dummy methods – override only the methods you care about Create a ScaleGestureDetector with listener pass Motion events from onTouch 38

Scaling Example listener updates overall scale factor shows current scale factor in TextView 39

Scale Example 40

Drag Gestures Similar to handling Scale gestures Implement View.OnDragListener – one method, onDrag(View v, DragEvent de) Drag event phases: – start – continuing – dropped – ended 41

Complex Gestures Non standard gestures require lots of code to recognize Android 1.6 introduced new APIs to store, load, draw, and recognize gestures Gesture Builder app on emulator – emulator must include virtual SD card – allows creating set of gestures for your application – limited success with jelly bean emulators 42

GestureBuilder on Devices GestureBuilder app included on emulators Possible to put on a real device Create project from sample 43 File -> New Project -> Android

Select Build Target Gesture Builder in SDK examples for multiple API levels I tried API level 10 44

Finish Project Create After project created, install on real device 45

Complex Gestures Each gesture associated with name Limited to single pointer multiple gestures can have same name – variations on same gesture, better chance of recognizing Move gestures from emulator to application res/raw folder 46

Gesture Data File DDMS file explorer 47

Complex Gestures Recognizing gestures via a GestureOverlayView simple drawing board on top of view that shows and records user gestures When gesture complete GestureLibrary queried to see if gesture is recognized Predictions between entered gesture and those in the library 48

Animal Sounds App 49

Predictions 50

onCreate 51

Listener 52