Está en la página 1de 53

TECNOLÓGICO NACIONAL DE

MÉXICO

TIC`S
CARRERA:
MATERIA:
Desarrollo de Aplicaciones Android

TEMA/UNID
UNIDAD 1

ACTIVIDAD:
Practica 1

ESTUDIANTE(S)-NO.
 ORTIZ LAMA JESUS IVAN

SEMESTRE:

CATEDRÁTIC
M. en RI. Azamar Palma Ivan

FECHA DE ENTREGA: 20 / 09 /2021


1
INTRODUCCION
1. Introducción.
2. Marco Teórico.
3. Código Fuente.
4. Pasos a Seguir.
5. Conclusiones.
6. Bibliografía.

INDICE DE ILUSTRACIONES
1. Ilustración 1. Pantalla principal Android Studio
2. Ilustración 2. Ventana principal de Actividades
3. Ilustración 3. Configuración Proyectó Android Studio
4. Ilustración 4. Estructura de carpetas y archivos para la aplicación hola
mundo
5. Ilustración 5. Código por Default para la iniciación de nuestra aplicación
6. Ilustración 6. Código para dar formato horizontal o verticalmente.
7. Ilustración 7. Código para dar formato a nuestro botón clic.
8. Ilustración 8. Botón clic de nuestra pantalla principal
9. Ilustración 9. Over ride para dar el comportamiento de nuestro botón
10. Ilustración 10. Over ride para dar el comportamiento a nuestro hola mundo.
11. Ilustración 11. Compilación de Android y nuestra App Hola Mundo
12. Ilustración 12. Inicialización de un nuevo proyecto
13. Ilustración 13. Creación de Actividades dentro del proyecto
14. Ilustración 14. Código para dar orientación a nuestro menú principal
15. Ilustración 15. Text View para Usuario.
16. Ilustración 16. Diseño de la cajita para ingreso del texto
17. Ilustración 17. Diseño Cuadro de texto.
18. Ilustración 18. Diseño de las cajas de texto
19. Ilustración 19. Diseño de las cajas de texto
20. Ilustración 20. Código para edición de texto dentro de la app
21. Ilustración 21. Código para botones de acceso, usuario y contraseña
22. Ilustración 22. Demostración de Funcionamiento de la aplicación de LOGIN
23. Ilustración 23. Colores de Drawable.
24. Ilustración 24. Colocación Imágenes Drawable.
25. Ilustración 25. Menú Drawer
26. Ilustración 26. Ítems de Inicio.
27. Ilustración 27. Segundo fragmento dentro de la App
28. Ilustración 28. Diseño botón flotante.
29. Ilustración 29. Colocación Imagen en Galería
30. Ilustración 30. Barra de menú lateral.
31. Ilustración 31. Mensaje flotante java.

2
32. Ilustración 32. Funcionamiento Drawer
33. Ilustración 33. Creación App menús.
34. Ilustración 34. Diseño Menú principal.
35. Ilustración 35. Diseño Menús secundarios.
36. Ilustración 36. Funcionamiento Menús.
37. Ilustración 37. Diseño e implementación 2.
38. Ilustración 38. Diseño submenú.
39. Ilustración 39. Funcionamiento selección de submenús.
40. Ilustración 40. Diseño menú 3.
41. Ilustración 41. Implementación de submenús al menú 3.
42. Ilustración 42. Diseño Submenús Casilla.
43. Ilustración 43. Funcionamiento submenús casilla.
44. Ilustración 44. Diseño Menú 4
45. Ilustración 45. Implementación método para acción del botón
46. Ilustración 46. Funcionamiento menú contexto.

3
Marco Teórico.

Android studio es un entorno de desarrollo integrado para la plataforma de Android. Fue


anunciado el 16 de mayo de 2013 remplazando a Eclipse como el IDE oficial para el desarrollo de
aplicaciones para Android. La primera versión estable fue publicada en diciembre de 2014.
Android studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de
aplicaciones para Android y se basa en el Intellij. Además del potente editor de códigos y las
herramientas para desarrolladores Intellij Android studio ofrece aún más funciones que aumentan
la productividad durante la compilación de apps para Android.
 VENTAJAS DE USAR ANDROID
 Sistema de Compilación flexible basada en Gradle.
 Un emulador rápido con varias funciones.
 Un entorno unificado en el que puedes realizar desarrollos para todos los
dispositivos Android.
 Instan Run, para aplicar cambios mientras tu app se ejecuta sin la necesidad de
compilar un nuevo APK.
 Integración de plantillas de código y GitHub, para ayudar a compilar funciones
comunes de las apps e importar ejemplos de Código.
 Herramientas Lint para detectar problemas de rendimiento, uso compatibilidad de
versión, etc.
 Compatibilidad con C++ y NDK.
 Soporte integrado para google Cloud Platform, que facilita la integración de Google
cloud Messaging y App Engine

4
CODIGO FUENTE APLICACIÓN “HOLA MUNDO”
 Activity_Main.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="NamespaceTypo">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:id="@+id/bt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/click" />
</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 MainActivity

package com.example.holamundo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


Button botonuno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
botonuno=(Button) findViewById(R.id.bt1);
botonuno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Hole Mound",
Toast.LENGTH_SHORT).show();
}
});

5
}
}

PASOS A SEGUIR.
 Como primera instancia se procederá a abrir nuestro programa Android Studio el
cual nos permitirá la creación de nuestra aplicación como se muestra a
continuación.

Ilustración 1 Pantalla principal Android Studio

 Una vez realizado se procederá a abrir nuestro proyecto dándonos a seleccionar


una de las distintas actividades como se muestra a continuación
proporcionándonos plantillas de actividades eligiendo Empty Activity para
comenzar.

Ilustración 2 Venta principal de actividades

6
 Una vez seleccionada procederemos a colocar el nombre del proyecto, la
ubicación donde se guardará el proyecto y la versión API que se utilizará.
 Esto garantiza que nuestra aplicación pueda ejecutarse en casi todos los
dispositivos.

Ilustración 3 Configuración proyecto Android Studio

 Una vez realizado


Android studio nos creara la estructura de carpetas y archivos necesarios para
nuestra aplicación con tres carpetas principales las cuales son:
 Manifest: La cual describe información esencial de nuestra aplicación.
 Carpeta Java: La cual contiene el archivo MainActivity.java contiene el
código fuente de Java para la actividad principal de la aplicación.
 Carpeta Res: incluye todos los recursos que no son de código, por
ejemplo:
Diseños (layouts): los diseños son archivos XML que definen la arquitectura de la interfaz
de usuario en una actividad o en un componente de una interfaz de usuario.
Valores (values): contiene el color, estilo y los archivos XML de cadenas para la
aplicación.
Dibujables (drawable): este es un repositorio general para todos los gráficos que pueden
ser dibujados en la pantalla, por ejemplo, las imágenes.
build.gradle: este es un archivo generado automáticamente que contiene información
sobre los detalles de la aplicación, por ejemplo la versión del SDK, la versión de las
herramientas de compilación, el ID de la aplicación y más.

7
Ilustración 4 Estructura de carpetas y archivos para
la aplicación hola mundo
 Una vez teniendo en cuenta lo que significa cada componente de Android studio se
procederá a nuestro código el cual Android nos los da por default como se muestra
a continuación.

Ilustración 5 Código por Default para la iniciación de nuestra aplicación

 Una vez teniendo esta nos colocaremos en la pantalla principal donde se


encontrarán nuestras pantallas principales a editar colocándoles nuestros
LinearLayout el cual es uno de los diseños más simples y más empleado. Donde
estableceremos los componentes visuales uno junto al otro, ya sea horizontal o
verticalmente como se muestra a continuación.

Ilustración 6 Código para dar formato horizontal o verticalmente a


nuestra pantalla

8
 Una vez teniendo y dado la orientación se procederá a realizar nuestro botón el
cual quedará de la siguiente manera dentro de nuestro mismo layout el cual le
daremos la instrucción para pasar a nuestra siguiente pantalla.

Ilustración 7 Código para dar formato a nuestro botón el cual llevara por
nombre clic.


Quedando
nuestro botón de la siguiente manera.

Ilustración 8 Botón clic de nuestra pantalla principal

 Una vez
teniendo
nuestro Layout y nuestro botón se procederá a dar instrucción a nuestro botón en
nuestro apartado de Main Activity donde se le dará el nombre y la función para que
este pueda dar la instrucción al darse clic y funcione como se muestra a
continuación.
 En este se colocó un override el cual nos Indica la sobre escritura de un método.
Un creando una interface para la implementación de un objeto en una clase, esta
nos permitirá sobre escribir el comportamiento, funcionalidad de nuestro método

9
en la clase que se implementó en este caso nuestro botón como se muestra a
continuación.

Ilustración 9 Override para dar el comportamiento de nuestro botón

 Una vez realizado se procedió a la colocación de otro @Override el cual dará al igual
que el anterior el comportamiento para nuestro mensaje de HOLA MUNDO al darle
clic como se muestra a continuación.

Ilustración 10 Override para dar el comportamiento a nuestro hola mundo.

 Dándonos por consiguiente el resultado mostrado a continuación.

Ilustración 11 Compilación de Android y nuestra App Hola Mundo

10
CODIGO FUENTE APLICACIÓN “LOGGIN”
 Activity_Main.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:layout_editor_absoluteX="290dp"
tools:layout_editor_absoluteY="232dp"
android:layout_marginTop="150px">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/texto"
android:fontFamily="sans-serif-black"
android:textSize="40px"
android:text="Ingrese el usuario"
android:textAlignment="center"
android:textColor="@color/design_default_color_primary_dark"></TextView>

<EditText
android:id="@+id/cajita1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/design_default_color_primary_dark"></EditText>

<TextView

11
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/texto2"
android:fontFamily="sans-serif-black"
android:textSize="40px"
android:text="Ingrese la contraseña"
android:textAlignment="center"
android:textColor="@color/design_default_color_primary_dark"></TextView>

<EditText
android:id="@+id/cajita2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/design_default_color_primary_dark"></EditText>

<Button
android:id="@+id/botonAcceso"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="200px"
android:fontFamily="sans-serif-black"
android:text="ACCESO"
android:textAlignment="center"
android:textSize="50px"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 Activity_Main2

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ic_launcher_background"
tools:context=".MainActivity2">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Regresar al login"
android:textSize="30px"
android:textColor="@color/cardview_light_background"
android:id="@+id/botonRegreso"></Button>
</LinearLayout>

12
</androidx.constraintlayout.widget.ConstraintLayout>

 MainActivity

package com.example.login;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.pm.PackageInfoCompat;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {


Button botonAcceso;
EditText e1,e2;
TextView t1,t2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
botonAcceso=(Button) findViewById(R.id.botonAcceso);
e1=(EditText)findViewById(R.id.cajita1);
e2=(EditText)findViewById(R.id.cajita2);
t1=(TextView)findViewById(R.id.texto);
t2=(TextView)findViewById(R.id.texto2);
botonAcceso.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId()==R.id.botonAcceso) {
String usuario = e1.getText().toString();
String password = e2.getText().toString();
if (usuario.equals("Ivan") && password.equals("123")) {
Toast.makeText(getApplicationContext(), "Bienvenido al curso",
Toast.LENGTH_SHORT).show();
Intent intencion=new Intent(this, MainActivity2.class);
startActivity(intencion);
}else{
Toast.makeText(getApplicationContext(), "Verifica usuario y/o contraeña",
Toast.LENGTH_SHORT).show();
}
}
}
}

 MainActivity2

13
package com.example.login;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity2 extends AppCompatActivity {


Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
b=(Button) findViewById(R.id.botonRegreso);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intencion2=new Intent(getApplicationContext(),MainActivity.class);
startActivity(intencion2);
}
});
}
}

PASOS A SEGUIR.
 Como primera instancia guiándonos con nuestro ejemplo anterior se procederá a
abrir un nuevo proyecto el cual llevará por nombre LOGIN.
 Este nos permitirá la realización de un menú donde nos permita ingresar un
nombre de usuario y una contraseña dándonos un mensaje al entrar de bienvenida
como se mostrará a continuación.

Ilustración 12 Inicialización de un nuevo proyecto

 Una vez realizado nuestro proyecto se procederá a crear dentro del mismo una
nueva actividad la cual nos permitirá el desplazamiento entre una pantalla y otra al
acceder como se muestra a continuación.

14
Ilustración 13 Creación de Actividades dentro de nuestro proyecto

 Una vez creadas procederemos a nuestro código el cual como primer paso se
procederá de nueva forma a darle altura y anchura nuestra pantalla, así como los
pixeles a mostrarse dentro del mismo como se muestra a continuación.

Ilustración 14 Código para dar orientación a nuestro menú principal

 Una vez realizado se procederá a la creación de nuestro Text View el cual nos permite
mostrar al usuario un texto, lo que en algunas ocasiones denominamos etiqueta en
este caso de nuestro primer apartado el cual será el nombre de usuario se muestra a
continuación.

Ilustración 15 Text View para Usuario

15
 Una vez realizado nuestro Text View se procederá a la creación de nuestra cajita
donde se encontrará nuestro texto de usuario para agregar los datos y/o escribirlos.

Ilustración 16 Diseño de la cajita para ingresar texto

 Realizado nuestro primer apartado se procederá a realizar nuestro segundo


recuadro el cual nos permitirá así colocar otro texto el cual será una contraseña
como se muestra a continuación.
 Como consiguiente se procederá a crear un nuevo Text View dándole sus atributos
para la creación del mismo.

Ilustración 17 Diseño cuadro de texto


 Una vez realzado se procedió a la
creación de la segunda caja la
cual nos permitía el ingreso de nuestros datos en este caso nuestra contraseña

 Quedando nuestros textos de la siguiente manera:

16
 Así mismo se agregó un Botón de acceso el cual se realizó de la misma forma en
que se crearon los text view quedando de la siguiente manera.

Ilustración 19 Diseño de las cajas de texto

 Una vez teniendo y colocando nuestros botones se procederá a darles activad


dentro de nuestro MainActivity
 En este se colocará la tarea a nuestro botón de acceso el cual tendrá la tarea de
edición de texto que realizara al ingresarse, así como permitirnos y como su nombre
lo dice la edición del texto.

Ilustración 20 Código para edición de texto dentro de la app


17
 Una vez realizado se colocará nuestro apartado el cual contendrá los datos a
ingresarse mediante una sentencia if para decidir si una determinada declaración o
bloque de enunciados se ejecutará o no; es decir, si una determinada condición es
verdadera (true), se ejecutará un bloque de enunciado y, de ser falsa (false), no.

Ilustración 21 Código para botones de acceso, usuario y contraseña

 Quedando Nuestra Aplicación de la siguiente manera.

Ilustración 22 Demostración de Funcionamiento de la aplicación de LOGIN

18
CODIGO FUENTE APLICACIÓN “NAVIGATION DRAWER”.

 COLORS

<?xml version="1.0" encoding="utf-8"?>


<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="brown">#A52A2A</color>
<color name="crimson">#DC143C</color>
<color name="firebrick">#B22222</color>
<color name="gainsboro">#DCDCDC</color>
</resources>

 NAV_HEADER_MAIN

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@color/black"
android:gravity="bottom"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"

19
android:theme="@style/ThemeOverlay.AppCompat.Dark">

<ImageView
android:id="@+id/imageView"
android:layout_width="300px"
android:layout_height="200px"
android:contentDescription="@string/nav_header_desc"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:src="@drawable/avengers"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Jesus Ivan Ortiz Lama."
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="jesus96unam@gmail.com.mx" />
</LinearLayout>

 ACTIVITY_MAIN_DRAWER.

<?xml version="1.0" encoding="utf-8"?>


<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">

<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_camera"
android:title="INICIO" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="GALERIA" />
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="MULTIMEDIA" />
</group>
</menu>

 APP_BAR_MAIN
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"

20
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.Drwable.AppBarOverlay">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/black"
app:popupTheme="@style/Theme.Drwable.PopupOverlay" />

</com.google.android.material.appbar.AppBarLayout>

<include layout="@layout/content_main" />

<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="16dp"
android:background="@color/gainsboro"
app:srcCompat="@android:drawable/btn_star_big_on" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

 FRAGMENT_HOME

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".ui.home.HomeFragment">

<TextView
android:id="@+id/text_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/avengers2"
android:text="SEGUNDO FRAGMENTO"
android:textColor="@color/white"

21
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 FRAGMENT_GALLERY

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".ui.gallery.GalleryFragment">

<TextView
android:id="@+id/text_gallery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="PRIMER FRAGMENTO"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/avengers"
tools:ignore="MissingConstraints"></ImageView>
</androidx.constraintlayout.widget.ConstraintLayout>

 FRAGMENT_SLIDESHOW

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
tools:context=".ui.slideshow.SlideshowFragment">

<TextView

22
android:id="@+id/text_slideshow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
android:text="TERCER FRAGMENTO"
android:background="@color/black"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 DRAWER

<?xml version="1.0" encoding="utf-8"?>


<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />

<item
android:id="@+id/action_2"
android:orderInCategory="100"
android:title="Settings 2"
app:showAsAction="collapseActionView" />

<item
android:id="@+id/action_3"
android:orderInCategory="100"
android:title="Settings 4"
app:showAsAction="withText" />

<item
android:id="@+id/action_4"
android:orderInCategory="100"
android:title="Settings 3"
app:showAsAction="ifRoom" />
</menu>

PASOS A SEGUIR”.

23
 Como primera instancia se procederá a la creación de un nuevo proyecto
seleccionando nuestra plantilla de Navigation Drawer Activity como se muestra a
continuación.

Ilustración 22 Plantilla App Drawer

 Una vez
seleccionada se procederá a darle nombre a nuestra actividad una vez realizado nos
posicionaremos a nuestro código.
 Como primer paso colocaremos los colores a darle a nuestra aplicación como se
muestra a continuación.

Ilustración 23 Colores de nuestro Drawable


 Una vez realizado
se procederá a
colocar dos imágenes las cuáles serán las principales dentro de nuestra app en la
carpeta de Drawable como se muestra a continuación.

24
Ilustración 24 Imágenes Drawable

 Una vez realizado nos posicionaremos en nuestro inicio de nuestra App en la


sección Nav_header_main.
 Dentro de esta se le dará un color, así como la anchura de la misma llamándolo con
la instrucción Android background.
 Cargando dentro del mismo la imagen ya mencionadas editando los pixeles tanto en
ancho como en alto.
 Así mismo dando un Text View añadiendo datos como nombres y correo electrónico
como se muestra a continuación.

Ilustración 25 Drawer Menú

 Una vez realizado nuestro inicio nos posicionaremos en nuestro


Activity_Main_Drawer el cual nos permitirá la edición de nuestros iconos principales.
 Dentro de este se cambiará el icono, así como el nombre y así sucesivamente para
los ítems siguientes dentro de nuestra carpeta values como se muestra a
continuación.

25
 Una vez realizado se procederá a la edición de nuestro segundo fragmento el cual le
daremos como principal una imagen de fondo quedando de la siguiente manera.
 Dándole un Android:text el cual nos indicara que es nuestro segundo fragmento
dentro de nuestro drawer.

Ilustración 27 Segundo Fragmento dentro de la App

 Así mismo dentro del mismo se colocó un Botón flotante el cual se puede editar dentro
de nuestro apartado App_bar_main como se muestra a continuación colocándole
una estrella por Default.

26

Ilustración 28 Boton Flotante


 Una vez teniendo nuestras pantallas principales se procederá con la colocación de
una imagen, así como un color de fondo de nuestro apartado Fragment_Gallery
dándonos una foto al momento de ingresar dentro de nuestro apartado de iconos
como se muestra a continuación.

Ilustración 29 Galería

 Una vez colocado se procederá a la creación de un menú dentro de nuestra barra de


Inicio colocándonos en nuestra carpeta de menú dándoles un ítem para agregar las
columnas de Settings indicándole a cada uno de ellos la acción a realizar como se
muestra a continuación.

Ilustración 30 Barra de menú lateral dentro de nuestro menú Inicio

27
 Por último, se agregó dentro de nuestro botón flotante un mensaje el cual nos
indicara que es una prueba dentro de nuestro apartado dándole un setAction el cual
nos dará la acción del mensaje como se muestra.

Ilustración 31 Mensaje Flotante Java

 A
continuación, se muestra el funcionamiento de nuestra Activity Drawer .

Ilustración 32 Funcionamiento Drawer

CODIGO FUENTE APLICACIÓN “MENUS”


 ACTIVITY MAIN

28
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textColor="@color/black"
android:textSize="60px"
android:gravity="center"
android:textAlignment="center"
android:text="Tipos de Menú Ejercicio 1"

></TextView>

<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Siguiente"
android:textAlignment="center"
android:textSize="50px"
android:onClick="siguiente"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 MAIN_AVTIVITY
ackage com.example.menus;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

29
public class MainActivity extends AppCompatActivity {

Button button1_S;
TextView textview1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview1= findViewById(R.id.textview);
button1_S= findViewById(R.id.btn1);

@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);

MenuItem item1= menu.add(0,1,1,"Opcion 1");


MenuItem item2= menu.add(0,2,2,"Opcion 2");

item1.setIcon(R.drawable.ic_launcher_foreground);
item2.setIcon(R.drawable.ic_launcher_background);

return true;
}

@Override public boolean onOptionsItemSelected(MenuItem item){

int id= item.getItemId();


textview1.append("\n Menu : " + id);
return true;
}

public void siguiente(View view){


Toast.makeText(getApplicationContext(), "Pasamos al siguiente",
Toast.LENGTH_LONG).show();
Intent siguiente_1 = new Intent(this, Menu2.class);
startActivity(siguiente_1);
}
}

 SUB_MENU

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity"
android:orientation="vertical"
android:background="@color/white">

30
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textColor="@color/black"
android:textSize="60px"
android:gravity="center"
android:textAlignment="center"
android:text="Tipos de Menú Ejercicio 2"

></TextView>

<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Siguiente"
android:textAlignment="center"
android:textSize="50px"
android:onClick="siguiente"></Button>

<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Regresar"
android:textAlignment="center"
android:textSize="50px"
android:onClick="regresar"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 MENU2

package com.example.menus;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

31
import androidx.appcompat.app.AppCompatActivity;

public class Menu2 extends AppCompatActivity {


TextView textview1;
Button button2_S,button1_R;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_submenu);
textview1=(TextView) findViewById(R.id.textview);
button2_S=(Button) findViewById(R.id.btn2);
button1_R=(Button) findViewById(R.id.btn3);
}

@Override public boolean onCreateOptionsMenu(Menu menu){


super.onCreateOptionsMenu(menu);
SubMenu sub1= menu.addSubMenu(0,1,1,"Menu 1 id 1");
sub1.setHeaderIcon(R.drawable.ic_launcher_foreground);
SubMenu sub2= menu.addSubMenu(0,2,1,"Menu 2 id 2");
sub2.setHeaderIcon(R.drawable.ic_launcher_foreground);

MenuItem item1= sub1.add(0,3,3,"SubMenu 1");


MenuItem item2= sub1.add(0,4,4,"SubMenu 2");
MenuItem item3= sub1.add(0,5,5,"SubMenu 3");
MenuItem item4= sub1.add(0,6,6,"SubMenu 4");
MenuItem item5= sub2.add(0,7,7,"SubMenu 5");
MenuItem item6= sub2.add(0,8,8,"SubMenu 6");
MenuItem item7= sub2.add(0,9,9,"SubMenu 7");
MenuItem item8= sub2.add(0,10,10,"SubMenu 8");
MenuItem item9= sub2.add(0,11,11,"SubMenu 9");
MenuItem item10= sub2.add(0,12,12,"SubMenu 10");
return true; }

@Override public boolean onOptionsItemSelected(MenuItem item) {


int id = item.getItemId();
if (id > 2) textview1.append("\n Ha pulsado el subMenu " + (id-2) + " con id "+id);
return true; }

public void regresar(View view){


Intent regresar1 = new Intent(this, MainActivity.class);
startActivity(regresar1);
}

public void siguiente(View view){


Toast.makeText(getApplicationContext(), "Pasamos al siguiente",
Toast.LENGTH_LONG).show();
Intent siguiente_1 = new Intent(this, Menu3.class);
startActivity(siguiente_1);
}
}

 ACTIVITY_CASILLA

32
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textColor="@color/black"
android:textSize="60px"
android:gravity="center"
android:textAlignment="center"
android:text="Tipos de Menú Ejercicio 3"

></TextView>

<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Siguiente"
android:textAlignment="center"
android:textSize="50px"
android:onClick="siguiente"></Button>

<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Regresar"
android:textAlignment="center"
android:textSize="50px"
android:onClick="regresar"></Button>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

 MENU_CASILLA

package com.example.menus;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

33
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class Menu3 extends AppCompatActivity {


TextView textview1;
Button button2_S,button1_R;

SubMenu sub1,sub2;
MenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9,item10;
boolean[] check={false,false,false,false,false,false,false,false,false,false};

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_casilla);
textview1=(TextView) findViewById(R.id.textview);
button2_S=(Button) findViewById(R.id.btn2);
button1_R=(Button) findViewById(R.id.btn3);
}

@Override
public boolean onCreateOptionsMenu(Menu menu){

super.onCreateOptionsMenu(menu);
sub1= menu.addSubMenu(0,1,1,"Menu 1");
sub1.setHeaderIcon(R.drawable.ic_launcher_foreground);
sub2= menu.addSubMenu(0,2,2,"Menu 2");
sub2.setHeaderIcon(R.drawable.ic_launcher_foreground);

item1= sub1.add(1,3,3,"Opción 1");


item2= sub1.add(1,4,4,"Opción 2");
item3= sub1.add(1,5,5,"Opción 3");
item4= sub1.add(1,6,6,"Opción 4");
item5= sub1.add(1,7,7,"Opción 5");
item6= sub2.add(2,8,8,"Opción 6");
item7= sub2.add(2,9,9,"Opción 7");
item8= sub2.add(2,10,10,"Opción 8");
item9= sub2.add(2,11,11,"Opción 9");
item10= sub2.add(2,12,12,"Opción 10");
return true; }

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
item1.setCheckable(true).setChecked(check[0]);
item2.setCheckable(true).setChecked(check[1]);
item3.setCheckable(true).setChecked(check[2]);
item4.setCheckable(true).setChecked(check[3]);
item5.setCheckable(true).setChecked(check[4]);
item6.setCheckable(true).setChecked(check[5]);
item7.setCheckable(true).setChecked(check[6]);

34
item8.setCheckable(true).setChecked(check[7]);
item9.setCheckable(true).setChecked(check[8]);
item10.setCheckable(true).setChecked(check[9]);
return true; }

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();

if (id > 2 && id < 12) {


if (check[id-3]==false){
textview1.append("\n Se activo casilla de " + (id-2));
check[id-3] = true;

}else if (check[id-3]==true){
textview1.append("\n Se desactivo casilla de " + (id-2));
check[id-3] = false;
}
}
return true;

public void regresar(View view){


Intent regresar1 = new Intent(this,Menu2.class);
startActivity(regresar1);
}

public void siguiente(View view){


Toast.makeText(getApplicationContext(), "Pasamos al siguiente",
Toast.LENGTH_LONG).show();
Intent siguiente_1 = new Intent(this, Menu4.class);
startActivity(siguiente_1);
}
}

 ACTIVITY_CONTEXTO

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"

>

35
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textviewAccion"
android:textColor="@color/black"
android:textSize="80px"
android:gravity="center"
android:textAlignment="center"
android:text="Oprime"

></TextView>

<Button
android:id="@+id/btnAccion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pulsame"
android:textAlignment="center"
android:textSize="60px"
android:backgroundTint="@color/black"
android:textColor="@color/white"

></Button>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textColor="@color/black"
android:textSize="60px"
android:gravity="center"
android:textAlignment="center"
android:text="Tipos de Menú Ejercicio 4"

></TextView

<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Regresar"
android:textAlignment="center"
android:textSize="50px"
android:onClick="regresar"></Button>

<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Inicio"
android:textAlignment="center"
android:textSize="50px"
android:onClick="siguiente"></Button>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

36
 MENU_CONTEXTO

package com.example.menus;

import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class Menu4 extends AppCompatActivity {


TextView textview1,textviewAc;
Button button2_S,button1_R,buttonAc;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contexto);
textview1=(TextView) findViewById(R.id.textview);

textviewAc=(TextView) findViewById(R.id.textviewAccion);
textviewAc.setOnCreateContextMenuListener(this);

button2_S=(Button) findViewById(R.id.btn2);
button1_R=(Button) findViewById(R.id.btn3);

buttonAc=(Button) findViewById(R.id.btnAccion);
buttonAc.setOnCreateContextMenuListener(this);
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo
info) {
super.onCreateContextMenu(menu, v, info);
if(v.getId()==R.id.textviewAccion){
menu.setHeaderTitle("Menú texto");
menu.setHeaderIcon(R.drawable.ic_launcher_foreground);
menu.add(0,1,1,"item 1");
menu.add(0,2,2,"ítem 2");
menu.add(0,3,3,"ítem 3"); }

if(v.getId()==R.id.btnAccion){
//Con ayuda del boton mustra la ventana de la lista de los menús.
menu.setHeaderTitle("Menú botón");
menu.setHeaderIcon(R.drawable.ic_launcher_background);
menu.add(0,4,4,"ítem 4");
menu.add(0,5,5,"item 5");

37
menu.add(0,6,6,"ítem 6");
}
}
@Override
public boolean onContextItemSelected(MenuItem item){
int id=item.getItemId();
textview1.append(" Seleccionaste el item "+id);
return true; }

public void regresar(View view){


Intent regresar1 = new Intent(this,Menu3.class);
startActivity(regresar1);
}

public void siguiente(View view){


Toast.makeText(getApplicationContext(), "Inicio", Toast.LENGTH_LONG).show();
Intent siguiente_1 = new Intent(this, MainActivity.class);
startActivity(siguiente_1);
}

PASOS A SEGUIR
 Como primera instancia y como se ha realizado en las practicas anteriores se
procedió a crear una nueva Activity la cual llevara por nombre Menús como se
muestra a continuación.

Ilustración 33 Creación de la APP MENUS


 Una vez realizado
nos
posicionaremos en nuestro primer apartado el cual tendrá por nombre Activity Main
donde daremos los componentes a la pantalla de manera vertical y centrada.

38
 Así mismo nuestro Text View mostrándonos el nombre de nuestro ejercicio, y
añadiéndole un botón para pasar de una clase a otra como se muestra a
continuación.

Ilustración 34 Diseño Menú Principal

 Una vez realizado nos


procederemos a darle el funcionamiento a nuestro menú principal en donde se
colocarán Oncreate el cual nos dará nuestros ítems y así mismo dentro de este el
nombre y los iconos usados de nuestro drawable como se muestra a continuación.

Ilustración 35 Diseño Menús 2,3,4

 Dando como
resultado los siguientes menús en funcionamiento.

39
Ilustración 36 Funcionamiento Menús Principal.
SUBMENUS
 Como siguiente continuaremos dentro de nuestra app principal llamada MENUS
dándole una nueva actividad la cual será un Activity llamado submenús.
 Una vez realizado se procederá a colocar nuestro código principal añadiendo ítems
a un submenú de la misma forma que a un menú. procurando que nuestras id de los
ítems realizados de los distintos submenús sean únicos.
 Se crearon dos submenús, cada uno con cuatro ítems. Al clicar un ítem, el id de este
se escribirá dentro de un Text View. Como se muestra a continuación.

Ilustración 37 Diseño Menú 2

 Una vez realizado


nuestra pantalla principal se le colocaron nuestros sub menús dentro del mismo
dándole la instrucción de seleccionar el submenú a desear como se muestra a
continuación.

40
Ilustración 38 Diseño y funcionamiento de selección de submenú

 Una vez realizado se procedió a colocar nuestros submenús dentro de nuestro


submenú principal con un itemid que contendrá los identificadores, así como el
orden a seguir y el título a mostrar como se muestra a continuación.

41
Ilustración 39 Diseño y funcionamiento de selección de submenús
MENU CON CASILLA
 Como siguiente se mantendrá nuestro diseño de Menú ahora agregando una nueva
Activity la cual nos permitirá posicionarnos en un submenú el cual dará opciones a
seleccionar con casillas como se explicará a continuación.
 Una vez Teniendo nuestros Submenús se desarrollará de la misma manera que las
pantallas anteriores nuestro tercer menú principal como se muestra a continuación
dándole los mismos parámetros verticales como de anchura.

Ilustración 40 Diseño 3 Menú


 A si mismo se le dio los ítems a
colocar dentro del submenú
dándole al menú la selección de
Menú 1 y 2 seleccionando dentro de ellos la opción a sugerir por el mismo con el
orden el grupo al que corresponde como se muestra a continuación.

Ilustración 41 Diseño y Funcionamiento de Submenús dentro de nuestro tercer menú.

42
 A si mismo se le coloco un setCheckable el agua arrojara un resultado true
permitiéndonos la selección de la casilla mostrándonos la selección dentro de la
pantalla de inicio.

Ilustración 42 Diseño y Funcionamiento de menús de casilla.


Dándonos como resultado la selección de casillas mostrándonos la selección en nuestra
pantalla principal del menú 3.

Ilustración 43 Diseño y Funcionamiento de Menú Casilla

43
MENU DE CONTEXTO
 El menú de contexto se muestra en una ventana flotante cuando se realiza una
pulsación larga (de unos segundos) sobre un objeto View. Cada objeto View puede
tener su propio menú con distintas opciones.
 Para este último menú se utilizará la misma App creando una nueva actividad dentro
de esta se creará un 4 menú donde se colocará un objeto View el cual contendrá un
menú de contexto que usara el método setOnCreateContextMenuListener() el cual
nos permitirá que al mantener pulsado nuestro botón principal nos dará un contexto
donde se definen los contenidos del menú, añadiendo ítems ejecutando el método
onContextltemSelected que contendrá las instrucciones a ejecutar como se muestra
a continuación.

44
 Una vez realizado se procedió a realizar nuestro Metodo OnCreatetextMenu para
realizar la acción de nuestro botón mostrándonos las opciones de los ítems a través
de una pulsación prolongada.
 Colocándole un if el cual dará la acción de mostrarnos un mensaje al seleccionar un
ítem como se muestra a continuación.

Ilustración 45 Método para realizar acción del botón

 Quedando de nuestro menú de contexto de la siguiente manera.

45
Ilustración 46 Funcionamiento Menú contexto

CODIGO FUENTE APLICACIÓN “DIALOGOS”


 ACTIVITY_MAIN
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"

46
android:gravity="center"
android:orientation="vertical">

<TextView
android:textColor="@color/black"
android:textSize="40px"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Dialogo Simple"
android:textAlignment="center"
android:textStyle="bold"/>
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Click para Mostrar Dialogo"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click para Ejercicio 2"
android:onClick="login2"
android:id="@+id/btn2"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 MAIN_ACTIVITY

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {


Button btn2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

setContentView(R.layout.activity_main);
Button boton=(Button) findViewById(R.id.btn1);
boton.setOnClickListener(this::onClick);
btn2=(Button) findViewById(R.id.btn2);
}
@Override

47
public void onClick (View arg0) {showDialog(0); }

@Override
protected Dialog onCreateDialog(int id){
Dialog dialogo=null;
if(id==0){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder=builder.setIcon(R.drawable.ic_launcher_foreground);
builder=builder.setTitle("Este es el aspecto de nuestro Dialogo");
dialogo=builder.create();
}
return dialogo;
}
public void login2(View view){
Intent regresar = new Intent( this,Dialog.class);
startActivity(regresar);
}
}

DIALOGOS DE PROGRESO
 MAIN_ACTIVITY

package com.example.dialogoprogreso;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ProgressDialog;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {


ProgressDialog progreso;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progreso= new ProgressDialog(this);
progreso.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progreso.setIcon(R.drawable.ic_launcher_background);
progreso.setTitle("BARRA DE PROGRESO");
progreso.show();
}
}

DIALOGOS PERSONALIZADOS.
 ACTIVITY_MAIN
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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="match_parent"

48
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HOLA UNIVERSO!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt1"
android:text="VENTANA DIALOGO PERSONALIZADO"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 DIALOGO.XML

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/design_default_color_primary"
android:padding="10dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewDialogo"
android:textColor="@color/white"
android:textSize="18sp"
android:text="IDENTIFICATE PARA COMENZAR"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewDialogo2"
android:textColor="@color/white"
android:textSize="18sp"
android:text="USUARIO"></TextView>
<EditText
android:layout_width="match_parent"

49
android:layout_height="wrap_content"
android:inputType="text"
android:id="@+id/Editext1"
></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textViewDialogo3"
android:textColor="@color/white"
android:textSize="18sp"
android:text="CONTRASEÑA"></TextView>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:id="@+id/Editext2"
></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ACEPTAR"
android:id="@+id/b1"></Button>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

 MAIN_ACTIVITY

package com.example.dialogoperzonalizado;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {


Button bt1;
EditText e1,e2;
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=(Button)findViewById(R.id.bt1);
bt1.setOnClickListener(this);
}

@Override

50
public void onClick(View v) {
showDialog(0);
}
@Override
protected Dialog onCreateDialog(int id){
Dialog dialogo=new Dialog(this);
Window w=dialogo.getWindow();
int flag= WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
w.setFlags(flag,flag);
dialogo.setTitle("Dialogo Basico");
dialogo.setContentView(R.layout.dialogo);
e1=(EditText)findViewById(R.id.Editext1);
e2=(EditText)findViewById(R.id.Editext2);
b1=(Button)findViewById(R.id.bt1);
b1.setOnClickListener(this);
return dialogo;
}
class AceptarListener implements View.OnClickListener{

@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "HOLA", Toast.LENGTH_SHORT).show();

}
}
}

PASOS A SEGUIR APP DIALOGO SIMPLE.


 Como primera instancia se procederá a abrir una nueva actividad dentro de nuestro
Android Studio la cual llevará por nombre Diálogos como se muestra a continuación.

51
Ilustración 47 Creación Nueva Activity

 Como primer
paso para mostrar nuestro diálogo invocaremos el método show Dialogó de nuestra
clase Activity. Esto hará que se ejecute nuestro método onCreateDialog de la clase
Activity que deberemos sobrescribir para construir nuestro diálogo, que será un
objeto de tipo Dialogó.

Ilustración 48 Creación Pantalla principal Dialogo Simple

 En este el dialogo creado, se utilizará un botón para mostrar el primer ejemplo de


dialogo simple, que sólo se compone de un texto e icono pasando a nuestro Main
Activity, dónde se pondrá el código, para realizar las acciones de mostrar un dialogo
simple.
 A si mismo se implementa un OnClickListener para los métodos a utilizarse, creando
la variable para nuestro botón llamándolo al mismo tiempo desde el Layout como se
muestra a continuación.

52
Ilustración 49 Creación para darle tarea Botón Clic

 Así mismo
se le dio el método el cual definirá nuestro icono y el texto a mostrarse en el Dialogo
como se muestra a continuación.

Ilustración 50 Creación y Funcionamiento Dialogo Simple

PASOS A SEGUIR APP DIALOGO PROGESO.


 Como primera instancia y como en el proyecto anterior se procedió a la creación de
una nueva actividad la cual se llama Dialogo Progreso.
 Una vez realizada procedemos a colocarnos dentro de nuestro Activity_Main donde
se creará nuestra pantalla principal donde coloco un TexView Indicándonos nuestro
Menú de dialogo en progreso.
 Una vez realizado se le coloco nuestro Botón el cual le daremos la instrucción al
darle clic nos muestre el mensaje de progreso como se muestra a continuación.

53

También podría gustarte