YO no iba a tomar este curso, mas porque vi que duraba una hora y dije que podre aprender en ese tiempo. DEspues decidi si tomarlo y me lleve una muy buena sorpresa este curso es muy bueno, nos enseña a crear las bases de las pantallas de apps y realmente es muy útil si nunca has usado android studio. Se los recomiendo MUCHO. Aquí están mis notas 😃
Espero que les sirva
Interfaces en android
Bases de las interfaces:
Xml: es un lenguaje de marcado(como html) que nos ayudará a hacer tags
namespace: es una manera de contextualizar los elementos de xml, nos da mas información de tags y atributos. Es una manera de dar un scope
Android suele usar un nameSPace “android” para ayudarle al sdk
xmlns: nos ayuda a que el xml sepa si un valor tiene contexto.
Recursos (res)
Carpetas incluidas en nuestro proyecto por defecto:
Android incluye por defecto todo(indico con negritas todo lo que no)
Res: son los recursos (resources)
. . . Drawable: gráficos
. . . Layout: estructuras
. . . MipMap: Iconos (vienen algunos incluidos)
. . . Values : Se administran los recursos (textos, colores, estilos, dimensiones y temas) Aquí es
. . . recomendable tener almacenados los colores strings y estilos en vez de tenerlos regados por
. . . todo el programa
. . . Archivos más complejos que podremos agregar luego:
. . . font
. . . animation
. . . xml
Layouts
Un layout es una estructura de componentes en xml. que claro tiene una representación gráfica, habrá que tomar en cuenta ambos para poder diseñar
Estructura de un layout
Un layout es un xml que android procesa y genera una imagen
Sus tipo s de elemento son:
View: Elemento que se muestra por pantalla, se suelen cerrar en la misma linea que se definen. Inline element
Viewgroup: Elemento que agrupa elementos, las cambios al viewgroup afectaran a sus elementos. Es posible tener viewgroups anidados
Atributos de los elementos
Los elementos pueden tener muchos atributos entre ellos:
color de fondo: podemos establecer un color con background
tamaño: podemos hacer su tamaño relativo a la pantalla
id: su identificador único con el que lo identificará en la clase R para el uso en la aplicación
tools: es el namespace utilizado para ver algo únicamente desde la vista de desarrollador, cuando la aplicación corra no se vera
sp: es una medida para la medida del texto únicamente
padding: da un espacio entre partes de un elemento
margin: genera un margen dentro de la dimensión del elemento
drawbaleStart: inserta un drawable al inicio del elemento
Linear Layout
Es un layout en el que los elementos se acomodan de forma lineal ya sea vertical u horizontal en cualquiera de sus sentidos, tambien pueden ser intercalados
Hay un elemento llamado space que lo único que hace es dar espacio entre otros elementos.
Frame Layout
Este es un layout que funciona por marcos, que irán creciendo conforme los usemos, esto es ideal si no queremos usar la pantalla completa. Esto no nos servirá mucho para un solo elemento. Normalmente un framelayout no se usa para diseñar la pantalla completa solo una parte de ella. Se recomienda no poner muchos layouts dentro ya que se podrán encimar elementos
Constraint layout
Este es un layout definido por límites, este es el que se usa por defecto en android studio y también es el que se usa en la mayoría de los casos, se maneja a base de constrains y podemos también usar referencias a otros elementos .La diferencia principal es que relative layout estira los elementos para que conserven la relatividad, este no
Estilos
Los estilos son un conjunto de características que podrán ser aplicados a los elementos que queramos, como por ejemplo el tamaño del texto, el color de fondo, etc. Estos se crean en la hoja de estilos en res/values y podremos poner los atributos que queramos.
Temas
Los temas son como estilos que van más allá, son aplicadas globalmente y deben de poder funcionar para cualquier elemento. Android studio tiene uno por defecto AppTheme que se usa en el andoridManisfest. Esto quiere decir que es el tema para la aplicación completa en general. Si un elemento tiene un atributo, un estilo con ese atributo y un tema con el mismo atributo , con diferentes valores siempre sera sobre puesto de la siguiente manera:
El del tema solo se muestra si es el único
El del estilo si no hay atributo individual en el elemento
El del elemento se elige siempre
Values
Esto es una carpeta en /res, esta carpeta tiene varios archivos que almacenan los valores de la aplicación. Esto nos es útil por si tenemos un elemento muy repetido y le queremos cambiar algo solo iremos ahí y se cambiará en todos lados .
Es importante siempre seguir la misma estructura de nombrado para encontrar los valores más fácilmente. Los archivos principales son styles, dimens, colors y strings.
En styles guardaremos todos los estilos que usemos , en dimens las dimensiones y tamaños de objetos, en colors los colores de la aplicación y en strings todas las palabras que se usan en la aplicación.
Elementos
externos
Esto es como importar en programación, nos ayudará a usar cosas que ya se han hecho, ahorrandonos la necesidad de tener que idear y crear algo que ya se ha hecho , esto es innecesario. Para esto el creador casi siempre nos dará instrucciones de como usarlo, por lo general hay que añadir la librería a grados y ya podremos usarlo.
reutilizables
Si hay un elemento exactamente igual siempre existe un a manera para no tener que tener las mismas líneas repetidas una y otra vez.
Para esto crearemos un layout exclusivamente con ese elemento y para incluirlo usaremos <include layout"@…"/>Es recomendable que el layout nuevo sea un tipo merge, para que no se aniden los layouts, esto será mejor para andorid