Aplicacions amb Flutter, Dart i Flame

Tutorial Flutter Flame Projectes   Recursos CITCEA
Exemples Dart Dades pràctiques     Inici

Text

El text és un component molt senzill que permet posar un text a la pantalla. El text pot venir d'una variable, pot ser un text entre cometes o una combinació si emprem la forma interpolada.

...
          Text("elem1"),
          Text($valor),
          Text("T = $valor K")
...

Podem indicar estils per al text. Per exemple:

...
          Text("Cursiva", style: TextStyle(fontStyle: FontStyle.italic)),
          Text("Gran i negreta", style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
          Text("Colors",style: TextStyle(
              color: Colors.yellow,
              backgroundColor: Colors.black,
            ),
          ),
          Text("Ratllat", style: TextStyle(decoration: TextDecoration.lineThrough)),
          Text("Espaiat", style: TextStyle(letterSpacing: 7)),
...

Els elements d'estil més habituals són:

Nom Propietat
fontWeight Pes de la font (negreta)
[vegeu taula més avall]
fontStyle Tipus de font:
italic per a cursiva
normal per a rodona
fontSize Mida de la font (en punts)
decoration Permet definir una decoració (ratllat, subratllat, etc.)
[vegeu taula més avall]
letterSpacing Separació entre les lletres
color Color de la lletra
backgroundColor Color del rectangle que conté el text
decorationColor Color de la decoració

Els valors possibles per a la negreta són:

Valor Descripció
FontWeight.w100 Lletra finíssima
FontWeight.w200 Lletra molt fina
FontWeight.w300 Lletra fina
FontWeight.w400 Lletra normal
FontWeight.normal
FontWeight.w500 Lletra una mica gruixuda
FontWeight.w600 Lletra gruixuda
FontWeight.w700 Lletra negreta
FontWeight.bold
FontWeight.w800 Lletra molt gruixuda
FontWeight.w900 Lletra gruixudíssima

Els valors possibles per a la decoració són:

Valor Descripció
TextDecoration.none Text normal
TextDecoration.underline Text subratllat
TextDecoration.lineThrough Text ratllat
TextDecoration.overline Text amb ratlla al damunt
TextDecoration.combine Podem indicar un vector amb les decoracions que vulguem aplicar

A continuació tenim un exemple de combinació de decoracions:

...
          Text(
            "Decorat",
            style: TextStyle(
              decoration: TextDecoration.combine([
                TextDecoration.overline,
                TextDecoration.underline,
              ]),
              decorationColor: Colors.red,
            ),
          ),
...

Se li pot indicar una llargada màxima per al text. Així, si no hi cap, el tallarà.

...
          Text(
            "Aquest món és món de mones, qui l'entén, qui no l'entén; d'hores males i hores bones ne disfruten així, a estones quasibé tota la gent.",
            maxLines: 2,
            overflow: TextOverflow.ellipsis,
          ),
...

on el paràmetre overflow ens permet especificar com s'indicarà que no hi cabia tot. Les opcions són:

Valor Descripció
TextOverflow.clip Només retalla
TextOverflow.ellipsis Posa punts suspensius
TextOverflow. Esvaeix el text
TextOverflow.visible Només retalla

Definició d'estils de forma general

És habitual que en una aplicació es facin servir uns pocs estils de text, atès que els textos d'un mateix tipus solen tenir el mateix estil.

Una bona manera d'organitzar-ho és creant una classe amb tots els estils que farem servir a l'aplicació o, com a mínim, amb aquells que es fan servir en diversos llocs. Així podem canviar l'estil en un únic lloc i la modificació s'aplica immediatament a tota l'aplicació.

Per exemple, podríem crear un fitxer estils.dart dins de la carpeta core que situem a la carpeta lib.

estils.dart
import 'package:flutter/material.dart';
import 'package:primera_app/core/colors.dart';
class Estils {
  static const TextStyle estilTextPrincipal = TextStyle(
    color: ColorsApp.primari,
    fontSize: 14,
  );
  static const TextStyle estilTextSelectors = TextStyle(
    color: ColorsApp.text,
    fontSize: 20,
    fontWeight: FontWeight.bold,
  );
}

Cal definir-ho com a estatic, perquè s'hi pugui accedir des de qualsevol lloc, i com a constant, perquè no volem que es pugui modificar per error des d'un altre lloc de l'aplicació.

Després podem utilitzar aquests estils en qualsevol lloc de l'aplicació. Per exemple, podem posar aquest estil a un text.

...
    return Column(
      children: [Text("Canviar", style: Estils.estilTextPrincipal)],
    );
...

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.