Mindmajix

Absolute Layout in Android

Layouts

An Android layout is a class that handles arranging the way its children appear on the screen. Anything that is a View (or inherits from View) can be a child of a layout. All of the layouts inherit from ViewGroup (which inherits from View) so you can nest layouts. You could also create your own custom layout by making a class that inherits from ViewGroup.

A layout defines the visual structure for a user interface, such as the UI for an activity or app widget. You can declare a layout in two ways:

  • Declare UI elements in XML. Android provides a straightforward XML vocabulary that corresponds to the View classes and sub classes, such as those for widgets and layouts.
  • Instantiate layout elements at runtime. Your application can create View and ViewGroup objects (and manipulate their properties) programmatically.

The standard Layouts are:

  1. AbsoluteLayout
  2. FrameLayout
  3. LinearLayout
  4. RelativeLayout
  5. TableLayout

Absolute Layout:-

Absolute Layout is based on the simple idea of placing each control at an absolute position. You specify the exact x and y coordinates on the screen for each control. This is not recommended for most UI development (in fact Absolute Layout is currently deprecated) since absolutely positioning every element on the screen makes an inflexible UI, that is much more difficult to maintain. Consider what happens if a control needs to be added to the UI. You would have to change the position of every single element that is shifted by the new control.

Absolute layout is less flexible and harder to maintain than linear layout, relative layout, table layout, etc. To specify views inside absolute layout, you have to use android:layout_x for x-coordinate and android:layout_y for y-coordinate.

Here is a sample Layout XML using AbsoluteLayout.

Absolute Layout

<AbsoluteLayout xmlns:android=”http://schemas.android.com/apk/res/android”android:layout_width=”fill_parent”

android:layout_height=”fill_parent”>

<Button

android:id="@+id/backbutton"
android:text="Back"
android:layout_x="10px"
android:layout_y="5px"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView

android:layout_x="10px"
 android:layout_y="110px" 
android:text="First Name"
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />

<EditText

android:layout_x="150px" 
android:layout_y="100px"
android:width="100px"
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />

<TextView

android:layout_x="10px" 
android:layout_y="160px" 
android:text="Last Name"
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />

<EditText

android:layout_x="150px"
 android:layout_y="150px"
android:width="100px"
android:layout_width="wrap_content" 
android:layout_height="wrap_content" />

</AbsoluteLayout>

Note how each element has android:layout_x and android:layout_y specified. Android defines the top left of the screen as (0,0) so the layout_x value will move the control to the right, and the layout_y value will move the control down. Here is a screenshot of the layout produced by this XML.

Screenshot_10

 


0 Responses on Absolute Layout in Android"

Leave a Message

Your email address will not be published. Required fields are marked *

Copy Rights Reserved © Mindmajix.com All rights reserved. Disclaimer.
Course Adviser

Fill your details, course adviser will reach you.