domingo, 15 de julho de 2018

Rumo ao Certificado Android: Styles e Themes

O que são?
São configuração de aparência aplicados em uma view (Style) ou Activity (Themes).

Criando uma Style
Para criar uma style é necessário criar um arquivo XML contendo as informações da style. O código abaixo é um exemplo:

01. <resources>
  
02.  <style name="AppTheme"
03.      parent="Theme.AppCompat.Light.DarkActionBar">

04.    <item name="colorPrimary">@color/colorPrimary</item>
05.    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
06.    <item name="colorAccent">@color/colorAccent</item>

07.  </style>

08.  <style name="ActivityLabelStyle">
   
09.    <item name="android:layout_width">match_parent</item>
10.    <item name="android:layout_height">90dp</item>
11.    <item name="android:gravity">center_vertical</item>
12.    <item name="android:padding">16dp</item>
13.    <item name="android:textColor">@android:color/white</item>
14.    <item name="android:textStyle">bold</item>
15.    <item name="android:textAppearance">?android:textApperanceMedium</item>
16.    <item name="android:layout_marginBottom">8dp</item>
17.    <item name="android:background">@color/colorPrimary</item>
18.  </style>

19. </resources>

Para criar um style, usamos a tag <style> e definimos as configurações com a tag item, onde o nome é o atributo a ser modificado e o valor é o próprio valor. No código acima, temos dois styles diferentes. A primeira, que na verdade é um theme, tem uma propriedade interessante: parent, onde ele está referenciando um outro style. Essa propriedade faz uma herança, ou seja, todo as configurações do style referenciado são setado igual ao do pai, e você pode sobrescreve-las conforme a necessidade.

Usando os Styles
Para usar um estilo em uma view, você pode utilizar o atributo style da view com o nome da style definido no arquivo de styles. Por exemplo:

<TextView
  android:id="@+id/nomeTextView"
  style="@style/ActivityLabelStyle" />

Aqui nós aplicamos a style ActivityLabelStyle em uma TextView.

Aplicando um theme
Para aplicar um tema ao aplicativo, você deve definir no manifesto, na tag "application" a propriedade "android:theme" igual ao style do tema. Semelhante ao seguinte:

<application
  android:theme="@style/AppTheme" />


Nenhum comentário:

Postar um comentário