🔡 Mostrar texto con Text
Podemos colocar estes fragmentos no body do Scaffold ou como fillos doutro widget.
const Text(
'IES San Mamede',
textAlign: TextAlign.center, // Centra as liñas dentro do espazo do texto.
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold, // Texto en negra.
color: Colors.blue,
),
)
textAlign aliña as liñas dentro do espazo do Text; para centrar o widget na pantalla usamos Center.
| Parámetro | Para que serve? |
|---|---|
style | Permite aplicar estilos ao texto mediante un obxecto TextStyle. Pódense configurar:• fontSize – tamaño• color – cor• fontWeight – grosor• fontFamily, etc.Exemplo: style: TextStyle(fontSize: 20) |
textAlign | Define a aliñación horizontal do texto dentro do seu contedor. Valores: • TextAlign.left• TextAlign.center• TextAlign.right• TextAlign.justify• TextAlign.start / TextAlign.endExemplo: textAlign: TextAlign.center |
maxLines | Número máximo de liñas que pode ocupar o texto. Se o contido supera ese límite, pódese truncar usando overflow.Exemplo: maxLines: 2 |
overflow | Indica que facer se o texto se desborda do espazo dispoñible. Valores: • TextOverflow.clip – corta o texto• ellipsis – engade ...• fade – esfuma o finalExemplo: overflow: TextOverflow.ellipsis |
const Text(
'Diego Rodicio é profesor de PMDM e titor de 2º DAM no IES San Mamede.',
maxLines: 2,
overflow: TextOverflow.ellipsis, // Engade puntos suspensivos se non cabe.
)
🎨 TextStyle
Podes personalizar a aparencia do texto en Flutter mediante a propiedade style, que acepta un obxecto TextStyle.
📚 Propiedades máis usadas de TextStyle
| Propiedade | Descrición | Exemplo de valor |
|---|---|---|
fontSize | Tamaño en píxeles lóxicos; Flutter adáptao á densidade da pantalla. | fontSize: 20 |
fontWeight | Grosor da letra. Valores posibles: • FontWeight.normal• FontWeight.bold• FontWeight.w100 ata FontWeight.w900 | fontWeight: FontWeight.bold |
color | Cor do texto. Para escoller cores: • Usamos nomes como Colors.blue, Colors.orange ou Colors.red.• Os nomes do código non se traducen. • Tamén hai tonalidades, como Colors.blue.shade100. | color: Colors.green |
fontFamily | Nome dunha fonte dispoñible na aplicación. Ver «Paquetes e fontes» e «Fontes locais sen paquetes», en «Para saber máis» deste tema. | fontFamily: 'Roboto' |
letterSpacing | Espazo extra entre caracteres. | letterSpacing: 2.0 |
height | Altura entre liñas (liña a liña), como multiplicador do tamaño da fonte. | height: 1.5 |
decoration | Decoración aplicada ao texto. Valores: • TextDecoration.none – Sen decoración• TextDecoration.underline – Subliñado• TextDecoration.overline – Liña por riba• TextDecoration.lineThrough – Tachado | decoration: TextDecoration.underline |
Text(
'IES San Mamede - 2º DAM - PMDM',
style: TextStyle(
fontSize: 24, // Tamaño da fonte
fontWeight: FontWeight.bold, // Grosor do texto
color: Colors.blue, // Cor do texto
letterSpacing: 1.5, // Espazado entre letras
decoration: TextDecoration.underline, // Subliñado
decorationColor: Colors.red, // Cor do subliñado
),
)

🔣 Mostrar iconas con Icon
A icona pásase como primeiro argumento, sen escribir icon:.
const Icon(
Icons.school, // Icona relacionada co centro educativo.
size: 40,
color: Colors.blue,
semanticLabel: 'Instituto', // Descrición para lectores de pantalla.
)
Escribe Icons. en VS Code e consulta as suxestións. Por exemplo: Icons.home, Icons.edit, Icons.person e Icons.volume_off.

A referencia da clase Icons mostra os nomes dispoñibles en Flutter. A galería de Google Fonts serve para explorar deseños, pero non todos se corresponden directamente cun nome de Icons:
📚 Consulta:
🖼️ Imaxes do proxecto: assets
Un asset é un recurso que incluímos coa aplicación: unha imaxe, unha fonte ou outro ficheiro.
Para mostrar unha fotografía:
- Crea
assets/imaxes/na raíz do proxecto, ao lado delib/. - Garda unha imaxe nese cartafol co nome
drodicio.jpg. - Engade a ruta á sección
flutterque xa existe enpubspec.yaml:
flutter:
uses-material-design: true
assets:
- assets/imaxes/ # Inclúe as imaxes deste cartafol.
Usa espazos para a sangría e non crees outra sección flutter. Se gardas imaxes en subcartafoles, declara tamén esas rutas.
Desde a raíz do proxecto, executa:
flutter pub get
Detén e volve executar a aplicación para probar a configuración. Despois coloca este widget no body:
Image.asset(
'assets/imaxes/drodicio.jpg', // Debe coincidir coa ruta real.
width: 200,
height: 150,
fit: BoxFit.cover, // Enche o espazo; pode recortar a imaxe.
semanticLabel: 'Diego Rodicio',
)
BoxFit.contain mostra a imaxe enteira sen deformala, aínda que poida deixar espazo libre. BoxFit.cover enche o espazo sen deformala, recortando se é necesario.

📌 Este exemplo execútase nun proxecto local: o visor de DartPad non ten acceso ao cartafol
assetsdo teu ordenador.Image.assetnon é un construtorconst.
🌐 Imaxes de Internet
Image.network recibe a URL da imaxe. Non precisa declarala en pubspec.yaml nin instalar o paquete http.
Image.network(
'https://docs.flutter.dev/assets/images/dash/dash-fainting.gif',
width: 200,
height: 150,
fit: BoxFit.contain,
// Se a descarga falla, mostramos unha alternativa.
errorBuilder: (context, erro, traza) {
return const Text('Non se puido cargar a imaxe');
},
)

O callback errorBuilder recibe o contexto, o erro e a súa traza, e debe devolver un widget. Aquí só necesitamos devolver unha mensaxe.
As imaxes de Internet precisan conexión. En web, o servidor da imaxe debe permitir o acceso desde a aplicación; unha URL que abre no navegador pode non funcionar dentro dela. Para distribuír en Android, revisa tamén o permiso de Internet.
🧪 Exemplo completo para DartPad
Combina texto, unha icona e unha imaxe de Internet.
💡 Retoma este exemplo despois de rematar «Espazos e distribución». Utiliza
Columnpara ordenar os elementos eSingleChildScrollViewpara permitir o desprazamento se non caben; ambos se explican nese apartado.🔗 DartPad:

📚 Consulta: