Un diseño absoluto le permite especificar la ubicación exacta, es decir, las coordenadas X e Y de sus hijos con respecto al origen en la esquina superior izquierda del diseño. El diseño absoluto es menos flexible y más difícil de mantener para diferentes tamaños de pantallas, por eso no se recomienda. Aunque Absolute Layout está obsoleto ahora.
Algunos de los atributos importantes de Absolute Layout son los siguientes:
- android:id : especifica de forma única el diseño absoluto
- android:layout_x: especifica la coordenada X de las vistas (los posibles valores de esto están en densidad-píxel o píxel )
- android:layout_y: especifica la coordenada Y de las vistas (los valores posibles de esto están en dp o px)
La sintaxis para el diseño absoluto
XML
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!--add child views--> </AbsoluteLayout>
Ejemplo
En este ejemplo, vamos a crear una aplicación básica con Absolute Layout que tiene dos TextView . Tenga en cuenta que vamos a implementar este proyecto utilizando el lenguaje Java .
Implementación paso a paso
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: crea el archivo de diseño
Para esto, vaya a aplicación > res > diseño > archivo activity_main.xml y cambie el Diseño de restricción a Diseño absoluto y agregue TextViews . A continuación se muestra el fragmento de código para el archivo activity_mian.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity"> <!--Setting up TextViews--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="100px" android:layout_y="300px" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="120px" android:layout_y="350px" /> </AbsoluteLayout>
Antes de continuar, agreguemos algunos atributos de color para mejorar la barra de la aplicación. Vaya a aplicación > res > valores > colores.xml y agregue los siguientes atributos de color.
XML
<resources> <color name="colorPrimary">#0F9D58</color> <color name="colorPrimaryDark">#16E37F</color> <color name="colorAccent">#03DAC5</color> </resources>
Paso 3: trabajar con el archivo MainActivity.java
En este paso, inicializaremos TextViews en nuestro archivo MainActivity.java .
Java
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView heading, subHeading; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Referencing the TextViews heading = (TextView) findViewById(R.id.heading); subHeading = (TextView) findViewById(R.id.subHeading); // Setting text dynamically heading.setText("Computer Science Portal"); subHeading.setText("GeeksForGeeks"); } }
Salida: ejecutar en el emulador
Verá que TextViews tiene coordenadas X e Y fijas.