No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es un tema?

16/20
Recursos

Aportes 14

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tener estilos es una manera correca de compartir atributos para nuestros widgets, compartir atributos que representan como se ve la aplicación. Es una buena practica si en algún momento hay que rediseñar.


Tema: Es un estilo aplicado globalmente, quiere decir que cuando hagamos alguna modificación todos los elementos van a representar ese cambio.


Archivo Manifest: Es la sección donde definimos las pantallas que tenemos con respecto al código. (También es afectado por los temas)


Un Style aplica sus reglas de manera independiente.
Un Theme aplica sus reglas de manera global

En las nuevas versiones de AndroidStudio LOS THEMES ya se los encuetra en directorios separados para evitar la confusion entre un style y un theme

¿Qué es un tema?
Usar estilos es una buena práctica para definir características de los elementos, sin embargo, también existen los temas. Un tema es un estilo globalmente, va a aplicar para ViewGroups o Layouts o toda la aplicación, cuando se haga una modificación de un tema se verá reflejado en todos los elementos que lo tengan.

Android ya te da un tema para la aplicación, pero se pueden crear nuestros propios temas.

Un punto a tener en cuenta es que no hay una forma directa de diferenciar un tema de un estilo en el archivo de styles.xml, ya que los temas también se crean con el tag style.

<h4>Crear tema</h4>

Sigue la misma estructura que un estilo:

<style name="AppTheme.Red" parent="AppTheme">
	<item name="android.background">#FF0000</item>
</style>

Para asignar el tema a un layout se usa el atributo android.theme:

android:theme="@style/AppTheme.Red"

Es importante mencionar que cada elemento puede sobrescribir individualmente sus estilos.

Para ver el tema que está asignamos en el archivo XML de la actividad en la vista de diseño tenemos que cambiarlo manualmente desde la parte superior de esta. Desde ahí podemos seleccionar entre los temas que tengamos definidos

En Android Studio, los términos “theme” (tema) y “style” (estilo) se refieren a dos conceptos diferentes que se utilizan para personalizar la apariencia de una aplicación.

Un tema define la apariencia general de la interfaz de usuario de una aplicación, como el color de fondo, el estilo de las barras de herramientas y la fuente predeterminada. Un tema se define en el archivo “styles.xml” y se aplica a toda la aplicación.

Un estilo, por otro lado, define la apariencia de un elemento de la interfaz de usuario individual, como un botón o una etiqueta. Los estilos se definen también en el archivo “styles.xml” y se pueden aplicar a elementos específicos de la interfaz de usuario en el archivo de diseño de la actividad.

En términos generales, se recomienda utilizar temas para personalizar la apariencia general de la aplicación y estilos para personalizar elementos específicos de la interfaz de usuario. Esto hace que sea más fácil mantener una apariencia coherente en toda la aplicación, y también facilita la actualización de la apariencia de la aplicación en el futuro.

En conclusión, los temas y estilos son dos conceptos diferentes en Android Studio que se utilizan para personalizar la apariencia de una aplicación. Los temas se utilizan para definir la apariencia general de la interfaz de usuario, mientras que los estilos se utilizan para definir la apariencia de elementos individuales de la interfaz de usuario. Se recomienda utilizar temas para personalizar la apariencia general de la aplicación y estilos para personalizar elementos específicos de la interfaz de usuario

Los estilos son útiles para compartir atributos entre widgets. Dichos atributos de comparten de forma individual entre cada Widget.

Los temas por otra parte son estilos aplicados globalmente, es decir, se van a aplicar a ViewGroups, layouts o para toda la App. Cuando se hace una modificación en un tema, dicho cambio se ve involucrado en todos los elementos implicados.

📄 AndroidManifest.xml: es una sección en la que se definen las pantallas que se tienen con respecto al código. Es muy común que dentro del tag <application> exista un atributo llamado android:theme="@style/AppTheme" en el que se define el tema global de la aplicación.

Crear un tema

<!-- CUSTOM THEME -->
<style name="AppTheme.Red" parent="AppTheme">
    <item name="background">#FFFF0000</item>
</style>

Aplicar un tema en una App

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:theme="@style/AppTheme.Red"></androidx.constraintlayout.widget.ConstraintLayout>

Si bien en un tema se establecen estilos globales cada elemento individual puede sobrescribir estos estilos.

Un tema es un estilo aplicado globalmente

Los estilos es una manera apropiada de compartir atributos para los elementos de manera individual.
Los temas sirven para los mismo solo que aplicado globalmente, es decir, va a aplicar para viewgroups, layouts o para toda la aplicación. Cuando hagamos una modificación en un tema todos los elementos involucrados van a ver reflejado este cambio.

Temas
Es un estilo que se aplica a cualquier elemento, es decir es global
Porque los temas se indican con theme="" y los estilos con style="" si en android studio ambos se instancian con style en la hoja de estilos?

Compañeros quería compartirles algo, yo cree el archivo de styles dentro de values, pensando que mi proyecto no lo traía por defecto. Sin embargo en esta clase me di cuenta que este archivo ya existía
Se encuentra dentro de la carpeta **values **en una sub carpeta themes

A mi no me funciono ni cambiando el archivo manifest, limpie y reconstruí el proyecto en fin gajes del oficio.

Vi que para el color rojo del background quedo sin querer una “f” minúscula, tiene algo que ver que eso haya afectado la imagen y no al botón o da lo mismo escribir los hexadesimales con mayúsculas que con minúsculas?

Temas vs Estilos
Un tema se va aplicar de manera global a cosas como por ejemplo el tamaño del texto pero un estilo va aplicar individualmente. Si hay cambios globales que nos importan en cada uno de nuestros elementos y van afectar en cada uno de nuestros elementos es donde tenemos que escoger un tema.