Professional Documents
Culture Documents
Unit-Ii - Views and Layout PDF
Unit-Ii - Views and Layout PDF
Dr.Pritee Parwekar
Views
• Activity is a means by which users interact with the
application.
• However, an activity by itself does not have a
presence on the screen.
• Instead, it has to draw the screen using Views and
ViewGroups
• An activity displays the user interface of your
application, which may contain widgets(widget is a
generic term for a bit of self-contained code that
displays a program, or a piece of a program) such as
buttons, labels, textboxes etc
Dr.Pritee Parwekar
View
The View is a base class for all UI components in android. For example, the
EditText class is used to accept the input from users in android apps, which
is a sub class of View.
• Following are the some of common View subclasses which will be used
in android applications.
• TextView
• EditText
• Button
• CheckBox
• RadioButton
• ImageButton
• Like these we have many View subclasses available in android.
Dr.Pritee Parwekar
Views
• The UI is defined using an XML file (e.g., the
main.xml file located in the res/layout folder of your
project), which looks similar to the following:
Dr.Pritee Parwekar
Views
• During runtime, you load the XML UI in the onCreate()
method handler in your Activity class, using the
setContentView() method of the Activity class:
• During compilation, each element in the XML file is
compiled into its equivalent Android GUI class, with
attributes represented by methods.
• The Android system then creates the UI of the activity when
it is loaded.
Dr.Pritee Parwekar
Views and ViewGroups
•An activity contains views and ViewGroups.
•A view is a widget that has an appearance on screen.
•Examples of views are buttons, labels, and textboxes.
•A view derives from the base class
android.view.View.
Dr.Pritee Parwekar
View Groups
•One or more views can be grouped together into a
ViewGroup.
•A ViewGroup (which is itself a special type of view)
provides the layout in which you can order the
appearance and sequence of views.
•Examples of ViewGroups include :
•LinearLayout
•FrameLayout.
•A ViewGroup derives from the base class
android.view.ViewGroup
Dr.Pritee Parwekar
View Groups
Android supports the following ViewGroups:
•LinearLayout
•AbsoluteLayout
•TableLayout
•RelativeLayout
•FrameLayout
•ScrollView
Dr.Pritee Parwekar
Linear Layout
•The LinearLayout arranges views in a single column
or a single row.
•Exmple: In the main.xml file, the root element is
<LinearLayout> and it has a <TextView> element
contained within it.
• The <LinearLayout> element controls the order in
which the views contained within it appear.
•Each View and ViewGroup has a set of common
attributes.
Dr.Pritee Parwekar
Example : Linear Layout
Dr.Pritee Parwekar
Common Attributes Used in Views and
ViewGroups
Dr.Pritee Parwekar
Properties
Dr.Pritee Parwekar
Properties
Dr.Pritee Parwekar
Setting Properties
Setting the width of the view to be equal to the width of the text
contained within it.
Dr.Pritee Parwekar
Converting DP to PX
• The formula for converting dp to px (pixels) is as
follows:
• Actual pixels = dp * (dpi / 160),
• where dpi is either 120, 160, 240, or 320.
Dr.Pritee Parwekar
Screen densities
•Low density (ldpi) — 120 dpi
•Medium density (mdpi) — 160 dpi
•High density (hdpi) — 240 dpi
•Extra High density (xhdpi) — 320 dpi
Dr.Pritee Parwekar
Setting properties Linear Layout
• In LinearLayout, you can apply the layout_weight
and layout_gravity attributes to views contained
within it
Dr.Pritee Parwekar
Setting properties Linear Layout
• If you change the orientation of the LinearLayout to horizontal, you
need to change the width of each view to 0 dp, and the views will be
displayed as shown
Dr.Pritee Parwekar
Absolute Layout
Dr.Pritee Parwekar
Problems with Absolute layout
• Figure shows two Button views (tested on a 180 dpi
AVD) located at their specified positions using the
android_layout_x and android_layout_y attributes.
• However, there is a problem with the
AbsoluteLayout when the activity is viewed on a
high resolution screen.
Dr.Pritee Parwekar
Problems with Absolute layout
Dr.Pritee Parwekar
Problems with Absolute layout
• For this reason, the AbsoluteLayout has been
deprecated since Android 1.5 (although it is still
supported in the current version).
• One must avoid using the AbsoluteLayout in the UI,
as it is not guaranteed to be supported in future
versions of Android.
Dr.Pritee Parwekar
Table Layout
Dr.Pritee Parwekar
Example: Table Layout
Dr.Pritee Parwekar
Example
Dr.Pritee Parwekar
RelativeLayout
• Android RelativeLayout enables you to specify how
child views are positioned relative to each other. The
position of each view can be specified as relative to
sibling elements or relative to the parent.
Dr.Pritee Parwekar
RelativeLayout Attributes
Dr.Pritee Parwekar
RelativeLayout
• Using RelativeLayout, you can align two elements
by right border, or make one below another, centered
in the screen, centered left, and so on.
• By default, all child views are drawn at the top-left
of the layout, so you must define the position of each
view using the various layout properties.
Dr.Pritee Parwekar
Dr.Pritee Parwekar
Dr.Pritee Parwekar
Relative Layout
•The RelativeLayout enables to specify how child views are positioned relative to each
other.
•Consider the following main.xml file:
Dr.Pritee Parwekar
Relative Layout
•Each view embedded within the RelativeLayout has
attributes that enable it to align with another view.
•These attributes are as follows:
•layout_alignParentTop
•layout_alignParentLeft
•layout_alignLeft
•layout_alignRight
•layout_below
•layout_centerHorizontal
Dr.Pritee Parwekar
Linear v/s Relative
• Android LinearLayout is a view group that aligns all
children in either vertically or horizontally.
Dr.Pritee Parwekar
Example
• Create the application using Linear
layout
Dr.Pritee Parwekar
Main.xml
Dr.Pritee Parwekar
Activity
Dr.Pritee Parwekar
Example
• Create the following application using Linear Layout
inside a Relative Layout
• Edit Text: using Relative layout
• Buttons : using Linear layout
Dr.Pritee Parwekar
Main.xml
Dr.Pritee Parwekar
Frame Layout
Dr.Pritee Parwekar
Example
Dr.Pritee Parwekar
Setting properties
• Within the FrameLayout an ImageView can be
embedded.
• Example FrameLayout within a RelativeLayout.
Dr.Pritee Parwekar
Avoid Overlapping of Components
• If you add another view (such as a Button view)
within the FrameLayout, the view will overlap the
previous view
Dr.Pritee Parwekar
Example
Dr.Pritee Parwekar
Scroll View
•A ScrollView is a special type of FrameLayout in that it
enables users to scroll through a list of views that occupy more
space than the physical display.
•The ScrollView can contain only one child view or
ViewGroup, which normally is a LinearLayout.
Dr.Pritee Parwekar
Scroll View
Dr.Pritee Parwekar
Scroll View
Dr.Pritee Parwekar
• Because the EditText automatically gets the focus, it
fills up the entire activity (as the height was set to
600dp).
• To prevent it from getting the focus, add the
following two attributes to the <LinearLayout>
element:
Dr.Pritee Parwekar