Curso de Android con Java: ScrollView

diego moisset de espanes
22 Feb 202113:55

Summary

TLDREl script proporciona una guía detallada sobre cómo crear una interfaz de usuario que incluya un 'ScrollView' para dispositivos móviles. Se discute la disposición de controles visuales como etiquetas, botones y banderas en una pantalla, y cómo el 'ScrollView' permite desplazarse verticalmente a través de estos elementos cuando no caben en una sola pantalla. Se menciona el uso de un 'LinearLayout' vertical para organizar los objetos y se ofrecen consejos sobre cómo manejar la selección de banderas de países a través de botones, utilizando propiedades como 'tag' para almacenar información adicional. Además, se aborda la lógica de programación necesaria para que los usuarios puedan interactuar con los botones y recibir retroalimentación sobre si han seleccionado la bandera correcta. Este tutorial es útil para desarrolladores que deseen implementar interfaces de desplazamiento en sus aplicaciones móviles.

Takeaways

  • 📱 Se discute el uso de controles en dispositivos móviles, destacando la importancia de su visibilidad en la pantalla.
  • 🔄 Se aborda el concepto de ScrollView, un control que permite desplazarse vertical u horizontalmente cuando hay más contenido del que cabe en la pantalla.
  • 🎨 Se menciona la creación de un proyecto para implementar un ScrollView, mostrando banderas de países en una aplicación de ejemplo.
  • 📏 Se describe cómo se asocia un ScrollView con un LinearLayout, lo que permite organizar objetos de manera vertical u horizontal.
  • 📝 Se detalla el uso de TextView para mostrar el nombre del país al que corresponde la bandera que se está identificando.
  • 🏷️ Se explica cómo utilizar la propiedad 'tag' de los botones para almacenar información, como el nombre del país, para su uso posterior.
  • 🔲 Se habla sobre la adición de múltiples botones, representando banderas de diferentes países, y cómo se organizan en la pantalla.
  • 📂 Se sugiere copiar y pegar imágenes de banderas desde una fuente de internet, como una página web, para utilizarlas en la aplicación.
  • 🔗 Se menciona la importancia de seguir convenciones de nomenclatura para los nombres de las imágenes, evitando caracteres especiales y mayúsculas, y se recomienda el uso de formatos de imagen como PNG o JPG.
  • 💡 Se destaca la capacidad de ScrollView para manejar grandes cantidades de elementos visuales en la pantalla, mejorando la experiencia del usuario.
  • 🛠️ Se describe cómo se implementa la lógica para manejar eventos de clic en los botones, utilizando el atributo 'tag' para identificar el país seleccionado.
  • ✅ Se resalta la finalización de la aplicación con una lógica sencilla que permite al usuario identificar la bandera correcta de un país y proporciona retroalimentación visual.

Q & A

  • ¿Qué es un 'scroll view' y cómo se utiliza en la interfaz de usuario?

    -Un 'scroll view' es un control visual que permite desplazarse vertical u horizontalmente por una serie de elementos cuando estos ocupan más espacio del que permite la pantalla. Se utiliza para mostrar muchos elementos en una pantalla sin necesidad de hacer que el usuario se salte ninguna parte.

  • ¿Cómo se asocia un 'scroll view' con un 'linear layout'?

    -Un 'scroll view' siempre va a estar asociado con un 'linear layout'. Esto permite disponer los objetos uno al lado del otro, ya sea en forma vertical o horizontal, y el 'scroll view' se encarga de permitir el desplazamiento entre ellos.

  • ¿Cómo se implementa la lógica para identificar la bandera correcta de un país?

    -Se asocia cada botón con un evento de presión y se utiliza la propiedad 'tag' de cada botón para almacenar el nombre del país. Al presionar un botón, se obtiene el país almacenado en su 'tag' y se compara con el país solicitado. Si coinciden, se confirma que es la bandera correcta.

  • null

    -null

  • ¿Qué es una 'tag' y cómo se utiliza en los botones para almacenar información?

    -Una 'tag' es una propiedad que puede asociarse con una vista y que permite almacenar un valor, en este caso un 'string'. Se utiliza para guardar información adicional sobre el botón, como el nombre del país asociado a cada bandera.

  • ¿Cómo se pueden personalizar los textos y los estilos de fuente en una aplicación?

    -Se puede utilizar un 'text view' para mostrar texto y se puede personalizar el tamaño de la fuente, el tipo de fuente y otros atributos a través de las propiedades de estilo de fuente.

  • ¿Qué tipo de imágenes se recomienda utilizar para los botones de banderas?

    -Se recomienda utilizar imágenes en formato PNG, JPG o GIF, teniendo en cuenta que los nombres de las imágenes deben ser en minúsculas, no deben comenzar con números y no deben contener caracteres especiales excepto el guión bajo.

  • ¿Cómo se puede hacer para que los botones se muestren de manera ordenada en la pantalla?

    -Se puede utilizar un 'linear layout' para organizar los botones en una secuencia vertical u horizontal, y se pueden arrastrar los botones desde la libreta de componentes para distribuirlos de manera uniforme en la pantalla.

  • ¿Qué sucede si la pantalla no tiene suficiente espacio para mostrar todos los elementos?

    -Si la pantalla no tiene espacio suficiente para mostrar todos los elementos, el 'scroll view' permite desplazarse para acceder a los elementos que no caben en la pantalla inicial.

  • ¿Cómo se puede hacer para que el usuario pueda seleccionar la bandera del país que desee?

    -Se puede implementar un evento de presión en los botones de las banderas. Cuando el usuario presiona un botón, se ejecuta la lógica para verificar si la bandera seleccionada coincide con la bandera del país solicitado.

  • ¿Qué es un 'activity' en el contexto de la programación para aplicaciones móviles?

    -Un 'activity' es un componente de la arquitectura de una aplicación móvil que representa una pantalla o una tarea específica. Es el entorno en el que se ejecuta la lógica de la aplicación y donde se interactúa con los usuarios.

  • ¿Cómo se puede mejorar la experiencia del usuario al utilizar un 'scroll view'?

    -Se puede mejorar la experiencia del usuario asegurándose de que el 'scroll view' sea intuitivo y fácil de usar, con elementos claramente visibles y un diseño que guíe al usuario a desplazarse por los elementos de manera natural.

Outlines

00:00

😀 Introducción al Scroll View y Diseño de Interfaz

El primer párrafo aborda el concepto de los controles en una pantalla y cómo manejar una gran cantidad de ellos utilizando un Scroll View. Se menciona la creación de un proyecto en la actividad, el uso de un LinearLayout vertical y la adición de un TextView para mostrar el nombre de un país. Además, se describe cómo agregar una serie de botones para representar banderas de diferentes países y cómo hacer que estos elementos sean visibles en la pantalla a través de la funcionalidad de desplazamiento vertical.

05:02

😉 Configuración de Botones y Atributos

Este párrafo se enfoca en cómo se configuran los botones para representar las banderas de los países y cómo se les asignan las propiedades adecuadas. Se discute la adición de tags a los botones, que contienen el nombre del país, lo que facilita la identificación y selección de la bandera correcta por parte del usuario. Además, se describe cómo se asocian los botones a un evento de clic para manejar la lógica de selección cuando el usuario interactúa con ellos.

10:02

😃 Implementación de la Lógica de Selección de Banderas

El tercer párrafo explica cómo se implementa la lógica para que el usuario seleccione la bandera correcta. Se describe el proceso de obtener la referencia del botón presionado y cómo se extrae el país asociado a través de la propiedad 'tag'. Se detalla cómo se compara el país seleccionado con el país solicitado y cómo se proporciona retroalimentación al usuario sobre si su selección fue correcta o incorrecta. Además, se menciona cómo se utiliza el Scroll View para manejar la visualización de múltiples objetos en una pantalla.

Mindmap

Keywords

💡Scroll View

Scroll View es un control visual utilizado en interfaces gráficas de usuario que permite desplazarse por contenido que excede los límites de la pantalla. En el video, se utiliza para mostrar una serie de banderas de países, más allá de lo que podría verse en una pantalla estándar, permitiendo al usuario desplazarse verticalmente para seleccionar la bandera deseada.

💡LinearLayout

LinearLayout es un contenedor de diseño que permite organizar otros elementos de la interfaz de usuario en una línea, ya sea horizontal o vertical. En el contexto del video, LinearLayout se asocia con ScrollView para organizar los elementos visuales, como botones con banderas, de manera vertical dentro del área de desplazamiento.

💡Botón

Un botón es un elemento de la interfaz de usuario que permite a los usuarios interactuar con la aplicación mediante clics o toques. En el video, los botones se representan visualmente como banderas de diferentes países, y su función es permitir al usuario seleccionar una bandera específica a través de un clic.

💡Bandera

Las banderas son símbolos nacionales que representan a un país. En el video, las banderas son usadas como imágenes en los botones para que el usuario pueda identificar y seleccionar la bandera del país que está consultando, siendo un elemento clave en el desafío propuesto.

💡TextView

TextView es un componente de la interfaz de usuario que se utiliza para mostrar texto en la pantalla. En el video, se utiliza para mostrar el nombre del país al que corresponde la bandera seleccionada, proporcionando información adicional al usuario.

💡Evento de clic

Un evento de clic es una acción de usuario que se desencadena cuando este interactúa con un elemento de la interfaz de usuario, como hacer clic en un botón. En el video, los eventos de clic están asociados con los botones de las banderas; cuando un usuario hace clic en uno, se activa una lógica para verificar si la selección es correcta.

💡Propiedad 'tag'

La propiedad 'tag' es un atributo que se puede asociar con una vista para almacenar información adicional, como un valor o referencia. En el video, cada botón tiene una 'tag' que almacena el nombre del país correspondiente, lo que se utiliza para verificar si la selección del usuario coincide con la bandera correcta.

💡Activity

Una Activity es un concepto en el desarrollo de aplicaciones móviles de Android que representa una pantalla o ventana de la aplicación. En el video, se menciona la creación de una nueva Activity para alojar la interfaz de usuario que incluye un ScrollView y los elementos de las banderas.

💡XML

XML, o eXtensible Markup Language, es un lenguaje de marcado que se utiliza para definir y传输结构 de datos. En el contexto del video, XML se utiliza para declarar los objetos y la estructura de la interfaz de usuario, como el diseño de la pantalla con los elementos de ScrollView y los botones.

💡Android Widgets

Los widgets de Android son componentes de la interfaz de usuario que permiten a los desarrolladores crear aplicaciones interactivas. En el video, se utilizan widgets como botones, TextView y ScrollView para construir la pantalla de selección de banderas.

💡Identificación de país

La identificación de país es el objetivo del desafío presentado en el video, donde el usuario debe seleccionar la bandera correcta correspondiente a un país específico. Este proceso implica la interacción con los elementos de la interfaz de usuario y la lógica detrás de la validación de la selección.

Highlights

Trabajando con controles en dispositivos, pensando en su visibilidad.

Introducción de un nuevo control llamado ScrollView para manejar contenido que excede la pantalla.

Creación de un proyecto para implementar un ScrollView y mostrar banderas de países.

Uso de LinearLayout para organizar elementos verticalmente dentro del ScrollView.

Inserción de un TextView para mostrar el nombre del país correspondiente a la bandera.

Selección de una fuente de tamaño más grande para el TextView para mejorar la legibilidad.

Copia y pegado de imágenes de banderas para usar en los botones.

Importancia de nombrar las imágenes de manera adecuada siguiendo convenciones de programación.

Selección del formato de imagen más conveniente entre png, jpg o gif.

Organización de los botones para representar las banderas de los países.

Implementación de ScrollView para permitir el desplazamiento vertical y selección de banderas.

Asociación de cada botón con una propiedad llamada 'tag' para almacenar información del país.

Eventos de presión en los botones para verificar la coincidencia con el país solicitado.

Uso de referencias para obtener el nombre del país del botón presionado.

Implementación de lógica para mostrar si la selección de bandera es correcta o incorrecta.

Importancia del ScrollView en pantallas con muchos elementos visuales.

Método setOnClickListener para asociar eventos a los botones y manejar la lógica de selección.

Uso de ScrollView en combinación con LinearLayout para crear interfaces más interactivas.

Explicación de cómo ScrollView mejora la experiencia de usuario al manejar contenido extenso.

Transcripts

play00:00

bueno seguimos trabajando con los la ya

play00:02

hemos visto el con sus 30 diaw línea

play00:06

radial tablet la ley out todos esos

play00:09

tipos de ley out nos permiten disponer

play00:11

controles dentro del dispositivo pero

play00:15

siempre pensando de que esos controles

play00:17

van a estar visibles en el dispositivo

play00:19

que pasa cuando tenemos que hacer

play00:21

pantallas que seguramente va a haber más

play00:24

controles de los que se pueden ver en

play00:26

una pantalla imagina un celular en el

play00:28

cual si podemos tener cantidad discreta

play00:31

de widgets o controles visuales

play00:33

imaginemos vamos a hacer este problema

play00:35

en el cual queremos poner una etiqueta

play00:37

tecbio una serie de botones un estante

play00:40

de botones el cuales se van a mostrar

play00:42

banderas y que van a ocupar más allá de

play00:45

lo que es una pantalla entonces aparece

play00:48

un nuevo control llamado scroll vivo

play00:51

entonces que vamos trabajando ahora

play00:53

vamos a ver cómo hacer un scroll view y

play00:55

prueba va a ser mostrar en un club un

play00:58

nombre de país y luego mostrar una serie

play01:01

de banderas que van a ser y más justo

play01:03

control que ya conocemos

play01:05

lo que vamos a permitir hacer el scroll

play01:07

vertical en este caso para poder

play01:09

seleccionar la bandera del país que se

play01:12

nos está consultando

play01:14

bueno entonces vamos a crear un nuevo

play01:17

proyecto en ti activity

play01:23

estamos respondiendo el proyecto 009

play01:33

vamos a forjar el río vamos a ver que el

play01:40

scroll vio y vemos en la pestaña común

play01:44

en la pestaña como hemos dicho que tan

play01:46

controles que ya están en las otras

play01:47

pestañas y en las pestañas como los

play01:51

controles más comunes de uso ya que

play01:53

también vemos que está el scroll vigo o

play01:55

sea es un control visual muy utilizado

play01:57

si no lo vamos a encontrar

play02:00

escribió que en

play02:02

no necesitamos el scroll vivo

play02:06

en la pestaña con talla acá tenemos

play02:09

scroll bío

play02:11

común

play02:14

container bueno vamos a disponer un

play02:17

scroll vio dentro de la actividad el

play02:20

scroll vio lo hemos dispuesto

play02:22

directamente que dependa de él con 6-2

play02:24

sí describió lo vamos a enlazar un fake

play02:28

con change para que ese enlace a los dos

play02:30

bordes superior inferior izquierdo y

play02:32

derecho hay desaparece cualquier error

play02:35

vemos que ya está enlazado con su

play02:37

pariente y acá la realidad es que

play02:40

podemos disponer controles si vemos el

play02:44

scrum views siempre va a estar asociado

play02:46

los scroll vio a un linier layout sí o

play02:51

sí vemos que hemos dispuesto un micro

play02:53

ruido y que dentro ha dispuesto niñas la

play02:56

ya o en este caso vertical o sea el

play02:58

objeto está uno abajo de otro y en la

play03:02

ventaja si hubiese un línea la haya una

play03:04

mañana mostrarse en forma vertical pero

play03:07

lo que entre en el dispositivo acá va a

play03:09

haber que él es prohibido nos va a

play03:10

permitir con el dedo hacia el exterior

play03:12

en forma vertical también tipo de

play03:14

implante de scroll vio en forma

play03:16

horizontal

play03:18

bueno según nuestro problema no aparece

play03:20

que tenemos que mostrar un texto vamos a

play03:24

disponer cuál es la bandera ese mensaje

play03:27

debe aparecer pondremos un tec view

play03:30

dentro del línea la iau y escribamos

play03:34

llamas tv 1 1

play03:37

y vamos a hacer que diga actual que la

play03:41

bandera

play03:44

de sistemas mostrar tiempos de ejecución

play03:46

vamos a mostrar el nombre del país al

play03:49

que queremos saber la bandera

play03:52

vamos a dar servicio con un tipo fuente

play03:55

más grande dijimos que vamos a trabajar

play03:59

con el texto propone

play04:03

40 el cp

play04:06

pues la bandera es que parezcan hombres

play04:08

banderas bueno vamos a disponer de más

play04:12

nos pide una serie de banderas que son y

play04:15

más button para eso vamos a su traidor

play04:21

una serie de banderas las vamos a copiar

play04:25

y pegar

play04:31

copia y dijimos que las imágenes

play04:35

vamos a arcar pista del agua y pegamos

play04:40

de capital de la web le podemos

play04:43

copiarlas en huaquillas de la uabe otra

play04:45

web le de 24 vamos a hacer lo mismo este

play04:48

caso del agua bleu

play04:50

y hoy tenemos lo más comiendo entonces

play04:53

aparece que los nombres de imágenes

play04:55

tintas siempre minúscula no empieza con

play04:57

números no tenes caracteres especiales

play04:59

salvo el guión bajo ya que seguirán

play05:01

variables con dichos nombres qué formato

play05:04

más conveniente es png jpg o en último

play05:07

caso gif ahora vamos a empezar a

play05:10

disponer

play05:12

y las distintas botones y más botón como

play05:16

button y más button lo podemos arrastrar

play05:19

a car o directamente el componen free

play05:21

que vamos a ir disponiendo argentinas

play05:30

bolivia

play05:35

así

play05:40

sí como vemos acá ya se ha llenado la

play05:42

pantalla 1 con scroll acá puede ir

play05:45

bajando

play05:47

o más fácil como decimos es ir poniendo

play05:50

los botones el componente swing

play05:56

y vamos a colombia

play06:03

pero

play06:06

uruguay

play06:09

finalmente la última bandera que

play06:12

dispuesto venezuela como vemos acá se

play06:17

hace scroll si lo ejecutamos deberíamos

play06:20

poder ver

play06:23

de qué

play06:25

aparecen y este scroll es gracias a que

play06:30

tenemos un scroll vivo el scroll río

play06:33

dentro simplemente un línea o hay una

play06:36

combinación entre explore vioque y me

play06:38

permite hacer el scroll de todos podemos

play06:40

disponer cualquier tipo de objetos acá

play06:42

hemos dispuesto y más botón interview

play06:44

pero podemos poner cualquier otro

play06:46

control hizo en facebook

play06:48

cádiz button switch o cualquier tipo de

play06:52

control dependiendo de la necesidad de

play06:54

los editex para entre datos no hay

play06:57

ninguna dificultad sobre todo sus va a

play06:59

utilizar el scroll vio cuando tenemos

play07:01

pantallas que se necesitan mostrar muy

play07:04

muchos gastos bueno vamos trate de

play07:07

resolver ahora si la lógica para este

play07:09

problema e ideas que íbamos a asociar a

play07:11

cada botón

play07:13

nuestros botones acabaremos tentó las

play07:17

propiedades este botón todas las vistas

play07:20

tienen una propiedad llamada tag que si

play07:23

vamos a qatar que pon guarda un string

play07:25

de cualquier tipo acabamos guardar el

play07:27

nombre del país en las propiedades estás

play07:29

con noticias de esta propiedad para

play07:31

hacerlo más sencillo el problema que

play07:32

guardaremos argentina

play07:37

este dijimos cripta que es bolivia

play07:45

así

play07:51

si lees

play07:57

colombia

play08:03

pero

play08:08

uruguay

play08:15

y finalmente

play08:17

venezuela

play08:22

vamos a asociar todos los botones a un

play08:25

evento expedición para dónde vamos a

play08:27

verificar si coincide la que se le está

play08:30

preguntando si señalamos todos los

play08:32

botones y vamos en inicializa mos como

play08:36

siempre más anteriores la propiedad con

play08:39

clic

play08:40

podemos buscar acá arriba con clic y

play08:44

asociamos todos los botones con presión

play08:48

donde vamos a hacer la lógica

play08:59

importamos nuestra esté vivo

play09:03

obtenemos referencia del ejecutivo

play09:18

y los botones vamos a tener referencias

play09:20

buque en balboa aleatorio y para no

play09:22

perder tiempo estará ido codificado

play09:24

básicamente seguro que necesito hacer

play09:31

era un número de gatos entre 170 y 7 que

play09:34

son las 8 banderas y vamos a según si el

play09:39

número se tiene un cero en un atributo

play09:41

país

play09:45

vamos a guardar el país y tiene que

play09:48

buscar cómo hemos puesto con mayor

play09:51

fuerza los plagas

play09:52

vamos a cambiar de forma yo puedo comer

play09:55

carácter

play09:57

también se podría utilizar el cual

play09:59

ignora que el agua

play10:02

pero guardamos keywords entonces

play10:04

básicamente cuando

play10:07

se ejecutaron crearte que apenas se

play10:10

lanza el activity que acá te indicamos

play10:13

que levante el activity sión bajo main

play10:15

que es el que el otro nos plantea una

play10:18

interfaz visual recordemos que esto es

play10:19

un archivo xml

play10:22

donde tiene declarado todos los objetos

play10:26

pero en xml

play10:27

entonces el método set contendió crea o

play10:31

sea todo eso lo hace en forma

play10:33

transparente crear todos los objetos y

play10:36

es por eso que ponemos por el find you

play10:37

by hay de obtener referencia de envió

play10:39

uno

play10:41

voy a tener un valor entre 0 y 7 guardó

play10:43

el país y le vamos a mostrar en el texto

play10:46

cual país tiene qué

play10:49

eliminar o identificar hasta ahí debería

play10:53

aparecer

play10:55

cuál es la bandera de venezuela ahora

play10:59

tengo que hacer la lógica que se

play11:00

selecciona perú decir que es incorrecto

play11:02

o que es correcto en el precio impresión

play11:06

es muy sencillo básicamente lo que

play11:09

hacemos

play11:13

obtenemos la referencia del imas vio que

play11:15

se acaba de presionar vamos a importar

play11:18

la clase y más vio que también traen el

play11:21

paquete android widgets recordemos que

play11:24

los 8 botones están enlazados con el

play11:26

método presiones pero qué hago guardo en

play11:28

esta variable las referencias del botón

play11:30

que acaba de ser presionado y demás

play11:32

button que a través de presionado y

play11:34

analizó con un y si saco del botón

play11:38

mediante el que está acá

play11:40

obtengo el texto que tiene el botón

play11:42

hemos dicho que cada botón hemos

play11:45

definido

play11:48

en la propia tag el nombre del país

play11:50

entonces ahí sacó el país del que acabó

play11:54

presiona el botón y compran ser igual al

play11:57

que está solicitando que identifique que

play12:00

es el atributo este país si es verdad

play12:02

con todas que vamos a importar las

play12:04

clases todas que está en el paquete

play12:06

también android widgets mostramos que ha

play12:10

sido correcto el país que tiene que

play12:12

identificar coincide con el país del

play12:15

botón que acá de presionar y por él le

play12:17

dice mostramos que es incorrecto y le

play12:19

mostramos además el tag

play12:23

del botón que se acaba de presión y más

play12:26

button que se acaba de presionar

play12:27

entonces ya estaría como vemos cuál es

play12:31

chile

play12:33

si yo selecciono brasil en correcto

play12:36

señales señaló la bandera de brasil si

play12:39

se seleccionó colombia en correctos

play12:41

niños doble cara

play12:43

andy de colombia y y seleccionó chile

play12:46

transfobia por supuesto que nuestra

play12:48

aplicación finaliza ahí ya que nos

play12:51

sortea un nuevo país a identificar

play12:55

cualquiera si siendo con respecto a

play12:58

chile bueno con esto ha quedado

play13:01

presentado otro control visual muy

play13:04

utilizado que es el scroll view que no

play13:07

encuentra que el scroll vio dispone

play13:10

siempre un línea radio es donde vamos a

play13:12

disponer todos los objetos normalmente

play13:13

se utilizan los que olvidemos pantallas

play13:15

con muchos objetos y que tenga sentido

play13:18

de que en tiempos de fusión

play13:20

el operador tenga que hacer scroll sobre

play13:23

dichos

play13:25

elementos visuales ya que las pantallas

play13:27

no permiten mostrar por ejemplo en este

play13:29

caso estos ocho botones donde esté este

play13:32

río pero tengo en cuenta que podemos

play13:35

disponer cualquier tipo de controles con

play13:38

esto ya hemos presentado otro control

play13:40

visual muy común el scroll vio vimos

play13:43

switch en su momento y más vivo y button

play13:47

view y ya veremos estos otros controles

play13:50

hasta acá entonces cerramos lo que es el

play13:52

scroll view

play13:54

gracias

Rate This

5.0 / 5 (0 votes)

Related Tags
Desarrollo AndroidScroll ViewInterfaz de UsuarioBotonesSelección de BanderasDiseño de PantallaProgramaciónXMLJavaEventos de UsuarioTags en Botones
Do you need a summary in English?