Introductory Android Development

Size: px
Start display at page:

Download "Introductory Android Development"

Transcription

1 Introductory Android Development Notes Quick Links & Text References Introduction Pages Layout Concepts Pages Layout Types Pages XML Overview Pages Common Attributes Layout Height & Width Pages Layout Margin Pages Layout Padding Pages Element ID Pages LinearLayout Attributes Pages Layout Weight Pages Layout Gravity Pages RelativeLayout Attributes Pages TableLayout Attributes Pages ScrollView Pages Defining Multiple Layouts Pages TextView Attributes Pages EditText Attributes Pages EditText Input Types Pages ImageView Attributes Pages Button Attributes Pages Activity Need to add section on Themes. Book Page 1 of 16

2 Notes Introduction In a manner similar to CSS, Android applications allow you to define your screen layout in a separate file. Layouts can also be manipulated at run-time using Java, just like JavaScript can manipulate the DOM. One extra feature that Android applications provide is the ability to define: different screen layouts for portrait and landscape mode, different layouts for different screen sizes (tablets, phones, etc.) different layouts for different screen resolutions The Android device running your application automatically selects the correct layout for its orientation, screen size and resolution. Activity Create a new Android project Layout Concepts Layouts are stored in XML files that are stored in the res folder in the project folder. When you first open the XML file, Eclipse may display the Graphical Layout tab. I find this tool very cumbersome. Feel free to experiment with it and use it if it suits you In this class I will be demonstrating all layouts using XML view (labeled with the name of the XML file). Click the tab below the views to switch to XML view. Page 2 of 16

3 Notes Layout Types Most commonly used layout types Linear Layout Table Layout Relative Layout Many screen layouts have other screen layouts embedded within them You can also include the contents of one layout file in another. In the screen snapshot above, main.xml includes the contents of history_layout.xml. This allows you to place common layout code in one file and the differing XML code in separate files. Each layout contains view objects (see below). The layout designates how these objects appear on the screen XML Overview XML files are raw text files that are organized into elements each of which has attributes describing the element. When you first create a project, Android inserts a RelativeLayout element (tag) into the layout and inside that, inserts a TextView (Hello world). Remove the TextView (unless you need one, then edit it) If you wish to use a LinearLayout or TableLayout, change RelativeLayout in both the opening a closing tags. As mentioned before, this primary layout (my term) can contain XML elements describing screen view objects and can also contain embedded layout elements (LinearLayouts inside RelativeLayouts, etc.) Activity Convert to a Linear Layout XML Comments Same as HTML <!-- Comment here --> Page 3 of 16

4 Notes Common Attributes Linear, Relative and Table layouts share the following attributes. Activity Copy the TextView element. Change the text of each Color background or textcolor Designate as #RRGGBB hexadecimal values background can also be an image android:textcolor="#ff0000" android:background="#fff468" Layout Height & Width When creating layout elements, you should designate a width and height for the layout Example: android:layout_width="match_parent" android:layout_height="match_parent" XML, like Java, is case sensitive, so be careful (I do a lot of copying and pasting). Height and width can be designated as match_parent Make the height/width the same width as its outer container For the primary layout, this matches the width/height of the screen Older code may use fill_parent. This is outdated, but still works. The primary layout is almost always match_parent for both height and width as in the example above. wrap_content Make the element s height/width just wide enough to hold its content Specific measurement The books I ve looked at designate that all measurements should be designated using dip but you may also use dp or px. dip and dp are basically the same thing device-independent pixel. Pixel size adjusts based on the resolution of the current device. Change color of first TextView to FFF468 Change #1 width to match parent Page 4 of 16

5 Notes Layout Margin By default elements are placed as close to each other as possible. To add space between elements, adjust the margin. android:layout_margin = "5dip" If a box were drawn around an element this would add 5dip outside the box edge. You can also designate the margin for just one side android:layout_margintop or Left or Right or Bottom Layout Padding You can also control how far text (usually) is separate within an element using padding. android:padding = "5dip" Note padding is not preceded by layout If this attribute were applied to a button, the button s text would be 5dip from the inside edge of the button You can also designate the margin for just one side android:paddingtop or Left or Right or Bottom New : android:padding="@dimen/padding_medium" See res/values Element ID Elements that will be modified by code must include an id attribute, linking the layout to the code. android:id="@+id/itemname" If the same element is referenced again in the same XML file (see RelativeLayout), you don t include the +. It is only used the first time you define the element. Activity Set #1 marginleft to 15 dip CHANGE padding for #1 to 35dip Set paddingleft for #2 to -5dip Provide id for each element Page 5 of 16

6 Notes LinearLayout Attributes LinearLayouts can include an orientation attribute Activity Ensure orientation is vertical android:orientation = "value" horizontal (default). Each object is placed to the right of previous object until the screen width is filled, then a new row is started. vertical Each object is placed below the previous object Tip: Are elements not showing up on the screen? You probably forgot the orientation for the LinearLayout. Any element defined after an element that is designated match_parent will be off the screen and invisible. I always designate an orientation for a LinearLayout. Layout Weight When a layout element contains more than one element, you can designate what percentage each element takes up within its container element. android:layout_weight = "50" Another, more confusing option, allows you to use simple numbers to designate weight. Android adds up all the numbers, determines the percent of total for each object. Assume these four attributes are in four different elements: android:layout_weight = "1" android:layout_weight = "1" android:layout_weight = "1" android:layout_weight = "2" Android adds up these numbers (5). The first three elements are all the same size (1/5 = 20%). The last element will be twice as large (2/5 = 40%). Note margins and padding are considered in the calculations Change weights to 75/25 Change weights to 1 and 3 Page 6 of 16

7 Notes When defining weights it s a good idea to set the height (vertical layout) or width (horizontal layout) to 0dp otherwise the widget may expand to accommodate its contents, messing up the weights. Layout Gravity and gravity Resource By default, elements gravitate/float to the top/left android:layout_gravity = "value" Values left (default) center_horizontal right center_vertical (used to center text up and down on their baselines) center (both horizontal and vertical) According to resource, in vertical, linear layout, only left-center-right layout_gravity make sense gravity generally refers to the text within a TextView Activity Set height to 0 Remove one TextView Remove weight RelativeLayout Attributes In a RelativeLayout, you normally designate how an element should be positioned relative to another element that was previously defined or relative to the parent container. If you don t designate a relative position, all objects are placed in the upper left corner of the screen Relative to parent android:layout_ alignparenttop or Bottom or Left or Right centerhorizontal centervertical centerinparent (center horizontally and vertically) Copy the main.xml file. Rename the copy main_linear (keep for reference) Using main.xml: Change to RelativeLayout Remove orientation Remove all but one TextView Remove gravity/weight Assign a Boolean value to the attributes above android:layout_centerinparent = "true" Add a 2 nd text view (no relative positioning). Note overlap Experiment with alignment in parent Page 7 of 16

8 Notes Relative to other element android:layout_ above below toleftof torightof aligntop or Bottom or Left or Right alignbaseline (baseline is invisible line text sits on) Assign the address of the object to align with android:layout_aligntop = "@id/btnok" Activity Center in Parent Add an EditText, width 150dp. Test. Note location. Name both the TextView and EditText Put EditText below TextView (align left edge) Undo Note: no + in this reference Normally, btnok would be defined first in the layout, but the most recent Android compilers are multi-pass so you can define btnok after. Put EditView to right of TextView Align baselines Using RelativeLayout, you can cause objects to overlap Example, one element fills container, another element is centered in container. Forward References Android allows objects to reference other objects that are not yet defined, defined later in the XML The key here is put the + in the id on the first reference to an object Page 8 of 16

9 Example: TextViews are smaller than EditText so you ll want to align their baselines. TextViews are often defined before the EditText they are supposed to align with. <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello, Volker" android:textcolor="#ff0000" android:background="#fff468" /> <EditText android:layout_width="150dp" android:layout_height="wrap_content" /> My first instinct is to put the + in the etinput id of the EditText. But, that s not the first time it s referenced (see highlighted text) Page 9 of 16

10 TableLayout Attributes Table layouts allow you to define tables with cells that contain elements (including other layouts) similar to HTML tables. Copy main.xml to main_relative.xml In main <TableRow> <TextView /> <ImageView /> </TableRow> You designate how many rows are in a table using <TableRow> elements. Each element to be added to a row is placed in a separate column (two columns in the example above). The number of columns in the entire table is determined by the row with the most columns BIG NOTE: elements in a table cell are automatically stretched to match the width of the cell/column. Column widths match the widest item in the column. (unless stretched-see below) android:layout_span = "2" Use this attribute in an element (like a button or image) to designate how many columns the element should take up (span). Similar to the colspan CSS attribute. android:layout_column = "2" Use this attribute in an element (like a button or image) to force it to appear in a designated column (0-based indexing) Page 10 of 16

11 android:stretchcolumns = "1" Use this attribute in the TableLayout element. The column number designated will stretch to fill the container. You list multiple columns separated by commas android:shrinkcolumns = "1" Use this attribute in the TableLayout element. The column designated will use word wrap to shrink But only if there s not enough room for the whole table. android:collapsecolumns = "1" Use this attribute in the TableLayout element. Hides a column. Advanced technique, normally done at run-time. ScrollView If your screen contains more data than can fit on the screen, you can include a scrollbar on the screen by placing all elements inside a ScrollView element. If you don t, the user can still scroll through the hidden objects, but there won t be a visual clue on the screen that more data exists. Page 11 of 16

12 Defining Multiple Layouts As mentioned in the overview, Android allows you to define multiple layouts for different devices and different screen orientations on the same device. In one of my programs the default font used by Android looks fine on a phone (small screen) but seems to be about 5 pt (way too small) on my tablet (large screen) Appropriate layout folder names Use must use these names for your layout folders so that Android can use the most appropriate one based on the device. Note the file names use dashes, not underscores layout-land (landscape orientation) layout-small (older devices, not used much anymore) layout-normal (probably wouldn t use this same as layout) layout-large layout-xlarge (tablets) layout-ldpi layout-mdpi layout-hdpi layout-xhdpi These are not used as much because layout is rarely affected by screen resolution (especially in this class). Most devices are hdpi or xhdpi. Attributes can be combined in folder names layout-xlarge-xhdpi-land See Page 12 of 16

13 Multi-Layout Overall Concept If you define multiple layouts, some elements are the same in all versions. To simplify updating you can place the common elements in one XML file (let s say it s called main.xml) and the varying elements in another (in the same layout folder). To begin, define the (normal) layout and ensure it works correctly Extract (cut) the component(s) from the layout that will be different on different devices/resolutions/orientations and store them in a new layout file Right-click layout foldernewandroid XML file. Name the file appropriately Paste the component(s) cut from the main layout file. Now the (main) layout file only contains the components that are common to all layouts for all devices, all resolutions, all orientations. Import the varying file s contents into the common file To include one XML in another: <include layout="@layout/history_layout" android:id="@+id/history" /> The file named history_layout(.xml) is imported into this location of the main XML file See Layout Concepts on page 1 This example also adds an ID to the layout because the application changes the history at run-time using Java. You d only include an ID if your element is changed at runtime. Page 13 of 16

14 Copy the varying file (history_layout in the example above) to another layout folder (e.g. layout-land) Note you ll have to create these folders in the res folder manually using the names listed above. Leave the name the same. Every copy of the varying file should have the same name but be stored in a different folder. Modify the varying file as appropriate for this layout. Note the main XML is not copied. It is only stored in the (normal) layout folder and includes the varying file. The main XML doesn t have to figure out which copy of the varying file to import (they should all have the same names). The Android device will import the appropriate file from the appropriate folder based on its size/resolution/orientation. TextView and EditText Attributes These notes include TextView, EditText, ImageView and Button attributes. Later notes will include attributes for the screen view elements discussed in those notes. Some of these attributes are more appropriate for EditText than TextView Good resource android:text = "your text here android:textsize = "20dp" android:textcolor = "#AA8800" android:textstyle = "bold italic" android:capitalize = "true" android:digits = "true" (only accept digits) android:typeface = "sans" or serif or monospace or normal android:hint = "Information here" (tooltip) android:inputtype = "number" Also phone datetime date time text Modifies onscreen keyboard android:lines = "3" android:maxlength = "20" android:numeric = "true" (similar to digits) android:password = "true" Custom fonts: Good resource Also see U7Inclass Page 14 of 16

15 EditText Input Types The latest versions of the SDK require you specify an android:inputtype for each EditText If you don t, you ll get a warning but your app should still run InputTypes do not change the appearance of the EditText in any way, but they do control which on-screen keyboard appears. To see on-screen keyboards, turn off in the AVD definition Reference Common values: text (plain text) textcapcharacters (all uppercase) textcapwords texturi (web address) text address textpassword number numbersigned numberdecimal phone datetime date time Use the appropriate inputtype to enhance your user s experience. ImageView Attributes Good resource android:maxwidth = "100dip" android:maxheight = "100dip" android:scaletype = "fitcenter" See resource for other options android:src = "@drawable/volker" Copy image to drawable-hdpi folder Note extension not included Page 15 of 16

16 Button Attributes Good resource android:text = "OK" Many of the same attributes from TextView See also ButtonImage view element Page 16 of 16

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2a: Android UI Design in XML + Examples Emmanuel Agu Android UI Design in XML Recall: Files Hello World Android Project XML file used to design Android UI

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming Emmanuel Agu Editting in Android Studio Recall: Editting Android Can edit apps in: Text View: edit XML directly Design

More information

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming. Emmanuel Agu

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming. Emmanuel Agu CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming Emmanuel Agu Android Apps: Big Picture UI Design using XML UI design code (XML) separate from the program (Java) Why?

More information

Comparative Study on Layout and Drawable Resource Behavior in Android for Supporting Multi Screen

Comparative Study on Layout and Drawable Resource Behavior in Android for Supporting Multi Screen International Journal of Innovative Research in Computer Science & Technology (IJIRCST) ISSN: 2347-5552, Volume 2, Issue 3, May - 2014 Comparative Study on Layout and Drawable Resource Behavior in Android

More information

Android UI: Overview

Android UI: Overview 1 Android UI: Overview An Activity is the front end component and it can contain screens. Android screens are composed of components or screen containers and components within the containers Screen containers

More information

Laying Out Controls in Containers

Laying Out Controls in Containers CHAPTER 3 Laying Out Controls in Containers A container is a view used to contain other views. Android offers a collection of view classes that act as containers for views. These container classes are

More information

Let s take a display of HTC Desire smartphone as an example. Screen size = 3.7 inches, resolution = 800x480 pixels.

Let s take a display of HTC Desire smartphone as an example. Screen size = 3.7 inches, resolution = 800x480 pixels. Screens To begin with, here is some theory about screens. A screen has such physical properties as size and resolution. Screen size - a distance between two opposite corners of the screens, usually measured

More information

Mobile Software Development for Android - I397

Mobile Software Development for Android - I397 1 Mobile Software Development for Android - I397 IT COLLEGE, ANDRES KÄVER, 2015-2016 EMAIL: AKAVER@ITCOLLEGE.EE WEB: HTTP://ENOS.ITCOLLEGE.EE/~AKAVER/2015-2016/DISTANCE/ANDROID SKYPE: AKAVER Layout fundamentals

More information

ANDROID USER INTERFACE

ANDROID USER INTERFACE 1 ANDROID USER INTERFACE Views FUNDAMENTAL UI DESIGN Visual interface element (controls or widgets) ViewGroup Contains multiple widgets. Layouts inherit the ViewGroup class Activities Screen being displayed

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu Students: Please Introduce Yourselves! Name Status: grad/undergrad, year Relevant background: e.g. coal miner

More information

(c) Dr Sonia Sail LAJMI College of Computer Sciences & IT (girl Section) 1

(c) Dr Sonia Sail LAJMI College of Computer Sciences & IT (girl Section) 1 Level 5: Baccalaureus in Computer Sciences CHAPTER 4: LAYOUTS AND VIEWS Dr. Sonia Saïd LAJMI PhD in Computer Sciences 1 Layout.xml 2 Computer Sciences & IT (girl Section) 1 Layout Requirements android:layout_width:

More information

Programming with Android: Layouts, Widgets and Events. Dipartimento di Scienze dell Informazione Università di Bologna

Programming with Android: Layouts, Widgets and Events. Dipartimento di Scienze dell Informazione Università di Bologna Programming with Android: Layouts, Widgets and Events Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Components of an Activity ViewGroup: definition

More information

A view is a widget that has an appearance on screen. A view derives from the base class android.view.view.

A view is a widget that has an appearance on screen. A view derives from the base class android.view.view. LAYOUTS Views and ViewGroups An activity contains Views and ViewGroups. A view is a widget that has an appearance on screen. A view derives from the base class android.view.view. One or more views can

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Intro to Android Programming Emmanuel Agu Android UI Tour Home Screen First screen after unlocking phone or hitting home button Includes favorites tray

More information

Sizing and Positioning

Sizing and Positioning CS 193A Layout This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Sizing and Positioning How does the

More information

Praktikum Entwicklung Mediensysteme. Implementing a User Interface

Praktikum Entwicklung Mediensysteme. Implementing a User Interface Praktikum Entwicklung Mediensysteme Implementing a User Interface Outline Introduction Programmatic vs. XML Layout Common Layout Objects Hooking into a Screen Element Listening for UI Notifications Applying

More information

Android UI Development

Android UI Development Android UI Development Android UI Studio Widget Layout Android UI 1 Building Applications A typical application will include: Activities - MainActivity as your entry point - Possibly other activities (corresponding

More information

04. Learn the basic widget. DKU-MUST Mobile ICT Education Center

04. Learn the basic widget. DKU-MUST Mobile ICT Education Center 04. Learn the basic widget DKU-MUST Mobile ICT Education Center Goal Understanding of the View and Inheritance of View. Learn how to use the default widget. Learn basic programming of the Android App.

More information

User Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University

User Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University User Interface: Layout Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University http://twitter.com/krunapon Agenda User Interface Declaring Layout Common Layouts User Interface

More information

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology Android App Development Mr. Michaud ICE Programs Georgia Institute of Technology Android Operating System Created by Android, Inc. Bought by Google in 2005. First Android Device released in 2008 Based

More information

Android Layout Types

Android Layout Types Android Layout Types Android Linear Layout Android LinearLayout is a view group that aligns all children in either vertically or horizontally. android:divider - This is drawable to use as a vertical divider

More information

Programming with Android: Introduction. Layouts. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: Introduction. Layouts. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: Introduction Layouts Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Views: outline Main difference between a Drawable and

More information

Fig. 2.2 New Android Application dialog. 2.3 Creating an App 41

Fig. 2.2 New Android Application dialog. 2.3 Creating an App 41 AndroidHTP_02.fm Page 41 Wednesday, April 30, 2014 3:00 PM 2.3 Creating an App 41 the Welcome app s TextView and the ImageViews accessibility strings, then shows how to test the app on an AVD configured

More information

CS378 -Mobile Computing. User Interface Basics

CS378 -Mobile Computing. User Interface Basics CS378 -Mobile Computing User Interface Basics User Interface Elements View Control ViewGroup Layout Widget (Compound Control) Many pre built Views Button, CheckBox, RadioButton TextView, EditText, ListView

More information

Chapter 2 Welcome App

Chapter 2 Welcome App 2.8 Internationalizing Your App 1 Chapter 2 Welcome App 2.1 Introduction a. Android Studio s layout editor enables you to build GUIs using drag-and-drop techniques. b. You can edit the GUI s XML directly.

More information

Mobile Programming Lecture 2. Layouts, Widgets, Toasts, and Event Handling

Mobile Programming Lecture 2. Layouts, Widgets, Toasts, and Event Handling Mobile Programming Lecture 2 Layouts, Widgets, Toasts, and Event Handling Lecture 1 Review How to edit XML files in Android Studio? What holds all elements (Views) that appear to the user in an Activity?

More information

CS371m - Mobile Computing. User Interface Basics

CS371m - Mobile Computing. User Interface Basics CS371m - Mobile Computing User Interface Basics Clicker Question Have you ever implemented a Graphical User Interface (GUI) as part of a program? A. Yes, in another class. B. Yes, at a job or internship.

More information

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie User Interface Design" & Development -

More information

Creating a User Interface

Creating a User Interface Creating a User Interface Developing for Android devices is a complicated process that requires precision to work with. Android runs on numerous devices from smart-phones to tablets. Instead of using a

More information

Text Properties Data Validation Styles/Themes Material Design

Text Properties Data Validation Styles/Themes Material Design Text Properties Data Validation Styles/Themes Material Design Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Email:info@sisoft.in Phone: +91-9999-283-283

More information

CSS Selectors. element selectors. .class selectors. #id selectors

CSS Selectors. element selectors. .class selectors. #id selectors CSS Selectors Patterns used to select elements to style. CSS selectors refer either to a class, an id, an HTML element, or some combination thereof, followed by a list of styling declarations. Selectors

More information

ANDROID APP DEVELOPMENT

ANDROID APP DEVELOPMENT 0 Version 1.2 ANDROID APP DEVELOPMENT By AbhiAndroid 0 AbhiAndroid.com 1 Awesome Thank you for downloading this guide Hi, My name is Abhishek. I m 26 year old guy from India. I m on mission and my mission

More information

Programming with Android: Introduction. Layouts. Luca Bedogni. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: Introduction. Layouts. Luca Bedogni. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: Introduction Layouts Luca Bedogni Dipartimento di Informatica: Scienza e Ingegneria Uniersità di Bologna Views: outline Main difference between a Drawable and a View is reaction

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Application Components Hold the content of a message (E.g. convey a request for an activity to present an image) Lecture 2: Android Programming

More information

CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu

CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu Android UI Tour Home Screen First screen, includes favorites tray (e.g phone, mail, messaging, web, etc)

More information

Hello World. Lesson 1. Android Developer Fundamentals. Android Developer Fundamentals. Layouts, and. NonCommercial

Hello World. Lesson 1. Android Developer Fundamentals. Android Developer Fundamentals. Layouts, and. NonCommercial Hello World Lesson 1 This work is licensed This under work a Creative is is licensed Commons under a a Attribution-NonCommercial Creative 4.0 Commons International Attribution- License 1 NonCommercial

More information

Fragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment

Fragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment FRAGMENTS Fragments An activity is a container for views When you have a larger screen device than a phone like a tablet it can look too simple to use phone interface here. Fragments Mini-activities, each

More information

Android UI DateBasics

Android UI DateBasics Android UI DateBasics Why split the UI and programing tasks for a Android AP The most convenient and maintainable way to design application user interfaces is by creating XML layout resources. This method

More information

South Africa

South Africa South Africa 2013 Lecture 6: Layouts, Menus, Views http://aiti.mit.edu Create an Android Virtual Device Click the AVD Icon: Window -> AVD Manager -> New Name & start the virtual device (this may take a

More information

ANDROID APPS DEVELOPMENT FOR MOBILE GAME

ANDROID APPS DEVELOPMENT FOR MOBILE GAME ANDROID APPS DEVELOPMENT FOR MOBILE GAME Application Components Hold the content of a message (E.g. convey a request for an activity to present an image) Lecture 2: Android Layout and Permission Present

More information

Adding CSS to your HTML

Adding CSS to your HTML Adding CSS to your HTML Lecture 3 CGS 3066 Fall 2016 September 27, 2016 Making your document pretty CSS is used to add presentation to the HTML document. We have seen 3 ways of adding CSS. In this lecture,

More information

Quick Reference Card Business Objects Toolbar Design Mode

Quick Reference Card Business Objects Toolbar Design Mode Icon Description Open in a new window Pin/Unpin this tab Close this tab File Toolbar New create a new document Open Open a document Select a Folder Select a Document Select Open Save Click the button to

More information

The Importance of the CSS Box Model

The Importance of the CSS Box Model The Importance of the CSS Box Model Block Element, Border, Padding and Margin Margin is on the outside of block elements and padding is on the inside. Use margin to separate the block from things outside

More information

Designing and Implementing Android UIs for Phones and Tablets

Designing and Implementing Android UIs for Phones and Tablets Designing and Implementing Android UIs for Phones and Tablets Matias Duarte Rich Fulcher Roman Nurik Adam Powell Christian Robertson #io2011 #Android 2 Ask questions Give feedback http://goo.gl/mod/zdyr

More information

User Interface Development. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr.

User Interface Development. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. User Interface Development CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath 1 Outline UI Support in Android Fragments 2 UI Support in the Android

More information

< building websites with dreamweaver mx >

< building websites with dreamweaver mx > < building websites with dreamweaver mx > < plano isd instructional technology department > < copyright = 2002 > < building websites with dreamweaver mx > Dreamweaver MX is a powerful Web authoring tool.

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 2 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 1 -recap What is Android How to develop Android applications Run & debug the applications

More information

USER GUIDE MADCAP FLARE Tables

USER GUIDE MADCAP FLARE Tables USER GUIDE MADCAP FLARE 2018 Tables Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is furnished

More information

Welcome Please sit on alternating rows. powered by lucid & no.dots.nl/student

Welcome Please sit on alternating rows. powered by lucid & no.dots.nl/student Welcome Please sit on alternating rows powered by lucid & no.dots.nl/student HTML && CSS Workshop Day Day two, November January 276 powered by lucid & no.dots.nl/student About the Workshop Day two: CSS

More information

Android Beginners Workshop

Android Beginners Workshop Android Beginners Workshop at the M O B IL E M O N D AY m 2 d 2 D E V E L O P E R D A Y February, 23 th 2010 Sven Woltmann, AndroidPIT Sven Woltmann Studied Computer Science at the TU Ilmenau, 1994-1999

More information

How to support multiple screens using android? Synopsis

How to support multiple screens using android? Synopsis How to support multiple screens using android? Synopsis Author: Michal Derdak Supervisor: Anders Kristian Børjesson Semester: 4th Date: 20 5 2016 Content Introduction 1 Problem definition 1 Activities

More information

Overview. What are layouts Creating and using layouts Common layouts and examples Layout parameters Types of views Event listeners

Overview. What are layouts Creating and using layouts Common layouts and examples Layout parameters Types of views Event listeners Layouts and Views http://developer.android.com/guide/topics/ui/declaring-layout.html http://developer.android.com/reference/android/view/view.html Repo: https://github.com/karlmorris/viewsandlayouts Overview

More information

Web Design and Implementation

Web Design and Implementation Study Guide 3 - HTML and CSS - Chap. 13-15 Name: Alexia Bernardo Due: Start of class - first day of week 5 Your HTML files must be zipped and handed in to the Study Guide 3 dropbox. Chapter 13 - Boxes

More information

Website Editor. User Guide - Table of Contents. Overview. Use Case(s) Accessing the Tool. Editor Tools. Quick Tab Toolbar. Menu Bar.

Website Editor. User Guide - Table of Contents. Overview. Use Case(s) Accessing the Tool. Editor Tools. Quick Tab Toolbar. Menu Bar. 2016 - Fall Edition Website Editor User Guide - Table of Contents Overview Use Case(s) Accessing the Tool Editor Tools Quick Tab Toolbar Menu Bar Adding Content Inserting Content Inserting Images Styling

More information

Android. YÉÇàá. Victor Matos Cleveland State University

Android. YÉÇàá. Victor Matos Cleveland State University Lesson 9 Android YÉÇàá Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons

More information

Using Eclipse for Android Development

Using Eclipse for Android Development 3 Using Eclipse for Android Development This chapter is an introduction to building a complete Android app. The chapter includes creating a new app project, exploring the components of an Android app,

More information

Mobile User Interfaces

Mobile User Interfaces Mobile User Interfaces CS 2046 Mobile Application Development Fall 2010 Announcements Next class = Lab session: Upson B7 Office Hours (starting 10/25): Me: MW 1:15-2:15 PM, Upson 360 Jae (TA): F 11:00

More information

Lab 1 - Setting up the User s Profile UI

Lab 1 - Setting up the User s Profile UI Lab 1 - Setting up the User s Profile UI Getting started This is the first in a series of labs that allow you to develop the MyRuns App. The goal of the app is to capture and display (using maps) walks

More information

ConstraintLayouts in Android

ConstraintLayouts in Android B ConstraintLayouts in Android Constrained Layouts are a new addition to Android. These layouts are similar to Relative Layouts, in that all widgets are positioned with respect to other UI elements. However,

More information

Android Programming Lecture 2 9/7/2011

Android Programming Lecture 2 9/7/2011 Android Programming Lecture 2 9/7/2011 Creating a first app 1. Create a new Android project (a collection of source code and resources for the app) from the Eclipse file menu 2. Choose a project name (can

More information

Graphing Interface Overview

Graphing Interface Overview Graphing Interface Overview Note: This document is a reference for using JFree Charts. JFree Charts is m-power s legacy graphing solution, and has been deprecated. JFree Charts have been replace with Fusion

More information

Microsoft Word 2007 on Windows

Microsoft Word 2007 on Windows 1 Microsoft Word 2007 on Windows Word is a very popular text formatting and editing program. It is the standard for writing papers and other documents. This tutorial and quick start guide will help you

More information

UI (User Interface) overview Supporting Multiple Screens Touch events and listeners

UI (User Interface) overview Supporting Multiple Screens Touch events and listeners http://www.android.com/ UI (User Interface) overview Supporting Multiple Screens Touch events and listeners User Interface Layout The Android user interface (UI) consists of screen views (one or more viewgroups

More information

Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University.

Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Czcionki Tłumaczenie i adaptacja materiałów: dr Tomasz Xięski. Na podstawie prezentacji udostępnionych przez Victor Matos, Cleveland State University. Portions of this page are reproduced from work created

More information

GUI Design for Android Applications

GUI Design for Android Applications GUI Design for Android Applications SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November

More information

EECS 4443 Mobile User Interfaces. More About Layouts. Scott MacKenzie. York University. Overview (Review)

EECS 4443 Mobile User Interfaces. More About Layouts. Scott MacKenzie. York University. Overview (Review) EECS 4443 Mobile User Interfaces More About Layouts Scott MacKenzie York University Overview (Review) A layout defines the visual structure for a user interface, such as the UI for an activity or app widget

More information

Announcements. Android: n-puzzle Walkthrough. Tommy MacWilliam. Dynamic GUIs. ListViews. Bitmaps. Gameplay. Saving State. Menus

Announcements. Android: n-puzzle Walkthrough. Tommy MacWilliam. Dynamic GUIs. ListViews. Bitmaps. Gameplay. Saving State. Menus Harvard University February 22, 2012 Announcements Lecture videos: https://www.cs76.net/lectures Section videos: https://www.cs76.net/sections videos: https://www.cs76.net/projects Today dynamic GUIs bitmaps

More information

Chapter 8 Positioning with Layouts

Chapter 8 Positioning with Layouts Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 8 Positioning with Layouts Chapter 8 Overview Create user interfaces in Android by defining resource files or

More information

Microsoft Word 2007 Essential Skills

Microsoft Word 2007 Essential Skills The "Anatomy" of the Word Window The typical program window will look similar to that shown below. It is possible to customize your own display, but that is a topic for discussion later on. OFFICE BUTTON

More information

Mobile Programming Lecture 1. Getting Started

Mobile Programming Lecture 1. Getting Started Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in

More information

Mobile Application Development - Android

Mobile Application Development - Android Mobile Application Development - Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts

More information

O X X X O O X O X. Tic-Tac-Toe. 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 2: The Ultimate Tic-Tac-Toe Game

O X X X O O X O X. Tic-Tac-Toe. 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 2: The Ultimate Tic-Tac-Toe Game Tic-Tac-Toe 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 2: The Ultimate Tic-Tac-Toe Game Dr Dimitris C. Dracopoulos O X X X O O X O X The Ultimate Tic-Tac-Toe: Rules of the Game Dimitris C. Dracopoulos

More information

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2 Workshop 1. Compare different layout by using Change Layout button (Page 1 5) Relative Layout Linear Layout (Horizontal) Linear Layout (Vertical) Frame Layout 2. Revision on basic programming skill - control

More information

EECS 4443 Mobile User Interfaces. More About Layouts. Scott MacKenzie. York University

EECS 4443 Mobile User Interfaces. More About Layouts. Scott MacKenzie. York University EECS 4443 Mobile User Interfaces More About Layouts Scott MacKenzie York University Overview (Review) A layout defines the visual structure for a user interface, such as the UI for an activity or app widget

More information

Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard.

Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard. 44 CHAPTER 2 Android s development environment Figure 2.10 demonstrates the creation of a new project named Chapter2 using the wizard. TIP You ll want the package name of your applications to be unique

More information

How to set up a local root folder and site structure

How to set up a local root folder and site structure Activity 2.1 guide How to set up a local root folder and site structure The first thing to do when creating a new website with Adobe Dreamweaver CS3 is to define a site and identify a root folder where

More information

ORB Education Quality Teaching Resources

ORB Education Quality Teaching Resources These basic resources aim to keep things simple and avoid HTML and CSS completely, whilst helping familiarise students with what can be a daunting interface. The final websites will not demonstrate best

More information

Joomla! Beginner s Guide. Summer 2012 Edition Compiled by Danconia Media

Joomla! Beginner s Guide. Summer 2012 Edition Compiled by Danconia Media Joomla! Beginner s Guide Summer 2012 Edition Compiled by Danconia Media Logging Into Joomla! Go to www.yoursite.com/administrator Type in your username and password. Adding a New Page Press the Add New

More information

Android Programming (5 Days)

Android Programming (5 Days) www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android

More information

Form into function. Getting prepared. Tutorial. Paul Jasper

Form into function. Getting prepared. Tutorial. Paul Jasper Tutorial Paul Jasper TABLE OF CONTENTS 1 Getting prepared 2 Adding a button to the form design 2 Making the button add tasks 3 Sending the XML data 4 Tidying up 5 Next time In the first episode, I showed

More information

Building User Interface for Android Mobile Applications II

Building User Interface for Android Mobile Applications II Building User Interface for Android Mobile Applications II Mobile App Development 1 MVC 2 MVC 1 MVC 2 MVC Android redraw View invalidate Controller tap, key pressed update Model MVC MVC in Android View

More information

Multiple devices. Use wrap_content and match_parent Use RelativeLayout/ConstraintLayout Use configuration qualifiers

Multiple devices. Use wrap_content and match_parent Use RelativeLayout/ConstraintLayout Use configuration qualifiers Multiple devices Multiple devices Use wrap_content and match_parent Use RelativeLayout/ConstraintLayout Use configuration qualifiers Create a new directory in your project's res/ and name it using the

More information

Table Basics. The structure of an table

Table Basics. The structure of an table TABLE -FRAMESET Table Basics A table is a grid of rows and columns that intersect to form cells. Two different types of cells exist: Table cell that contains data, is created with the A cell that

More information

MS Word Professional Document Alignment

MS Word Professional Document Alignment MS Word Professional Document Alignment Table of Contents CHARACTER VS. PARAGRAPH FORMATTING...5 Character formatting...5 Paragraph Formatting...5 USING SHOW/HIDE TO REVEAL NON-PRINTING CHARACTERS...5

More information

Beginners Guide to Snippet Master PRO

Beginners Guide to Snippet Master PRO Beginners Guide to Snippet Master PRO This document assumes that Snippet Master has been installed on your site. If not please contact the Bakas IT web team at webreg@bakasit.com.au. Initial Login Screen...

More information

Budget Exercise for Intermediate Excel

Budget Exercise for Intermediate Excel Budget Exercise for Intermediate Excel Follow the directions below to create a 12 month budget exercise. Read through each individual direction before performing it, like you are following recipe instructions.

More information

Microsoft Excel 2007

Microsoft Excel 2007 Microsoft Excel 2007 Objective To provide a review of the new features in the Microsoft Excel 2007 screen. Overview Introduction Office Button Quick Access Toolbar Tabs Scroll Bar Status Bar Clipboard

More information

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device.

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device. Let's get started! Start Studio We might have a bit of work to do here Create new project Let's give it a useful name Note the traditional convention for company/package names We don't need C++ support

More information

WEEK NO. 12 MICROSOFT EXCEL 2007

WEEK NO. 12 MICROSOFT EXCEL 2007 WEEK NO. 12 MICROSOFT EXCEL 2007 LESSONS OVERVIEW: GOODBYE CALCULATORS, HELLO SPREADSHEET! 1. The Excel Environment 2. Starting A Workbook 3. Modifying Columns, Rows, & Cells 4. Working with Worksheets

More information

Lava New Media s CMS. Documentation Page 1

Lava New Media s CMS. Documentation Page 1 Lava New Media s CMS Documentation 5.12.2010 Page 1 Table of Contents Logging On to the Content Management System 3 Introduction to the CMS 3 What is the page tree? 4 Editing Web Pages 5 How to use the

More information

Table of Contents. MySource Matrix Content Types Manual

Table of Contents. MySource Matrix Content Types Manual Table of Contents Chapter 1 Introduction... 5 Chapter 2 WYSIWYG Editor... 6 Replace Text... 6 Select Snippet Keyword... 7 Insert Table and Table Properties... 8 Editing the Table...10 Editing a Cell...12

More information

CSCB20 Week 7. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017

CSCB20 Week 7. Introduction to Database and Web Application Programming. Anna Bretscher Winter 2017 CSCB20 Week 7 Introduction to Database and Web Application Programming Anna Bretscher Winter 2017 Cascading Style Sheets (CSS) Examples of CSS CSS provides a powerful and stillevolving toolkit of style

More information

Getting Started with Eric Meyer's CSS Sculptor 1.0

Getting Started with Eric Meyer's CSS Sculptor 1.0 Getting Started with Eric Meyer's CSS Sculptor 1.0 Eric Meyer s CSS Sculptor is a flexible, powerful tool for generating highly customized Web standards based CSS layouts. With CSS Sculptor, you can quickly

More information

DOING MORE WITH WORD: MICROSOFT OFFICE 2010

DOING MORE WITH WORD: MICROSOFT OFFICE 2010 DOING MORE WITH WORD: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT WORD PAGE 03 Viewing Toolbars Adding and Removing Buttons MORE TASKS IN MICROSOFT WORD

More information

Lab 3. Accessing GSM Functions on an Android Smartphone

Lab 3. Accessing GSM Functions on an Android Smartphone Lab 3 Accessing GSM Functions on an Android Smartphone 1 Lab Overview 1.1 Goals The objective of this practical exercise is to create an application for a smartphone with the Android mobile operating system,

More information

Flash Image Enhancer Manual DMXzone.com Flash Image Enhancer Manual

Flash Image Enhancer Manual DMXzone.com Flash Image Enhancer Manual Flash Image Enhancer Manual Copyright 2009 All Rights Reserved Page 1 of 62 Index Flash Image Enhancer Manual... 1 Index... 2 About Flash Image Enhancer... 3 Features in Detail... 3 Before you begin...

More information

CMPT 165: More CSS Basics

CMPT 165: More CSS Basics CMPT 165: More CSS Basics Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University October 14, 2011 1 The Favorites Icon The favorites icon (favicon) is the small icon you see

More information

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links Using Dreamweaver CC 4 Creating a Template Now that the main page of our website is complete, we need to create the rest of the pages. Each of them will have a layout that follows the plan shown below.

More information

CS Multimedia and Communications. Lab 06: Webpage Tables and Image Links (Website Design part 3 of 3)

CS Multimedia and Communications. Lab 06: Webpage Tables and Image Links (Website Design part 3 of 3) CS 1033 Multimedia and Communications Lab 06: Webpage Tables and Image Links (Website Design part 3 of 3) REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB! Table Properties Reference Guide The Property

More information

The drawable/tile empty.xml file

The drawable/tile empty.xml file The X and O Symbols 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 3: Ultimate Tic-Tac-Toe Game: The Interface Dr Dimitris C. Dracopoulos Create them with the filenames x blue.png and o red.png in an

More information