0
I’m starting flutter now, and in my first App (which should display random phrases as you press a button) it’s giving a problem, rather than displaying sentences, it displays only a single character. I guess I must be missing something, can someone shed some light on me? Follow the code:
import 'dart:math';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.lightGreen,
),
home: MyHomePage(title: 'Frases do dia'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _numeroRandom = 0;
List _fraseDoDia = [
'A persistência é o caminho do êxito.',
'O sucesso nasce do querer, da determinação e persistência em se chegar a um objetivo. Mesmo não atingindo o alvo, quem busca e vence obstáculos, no mínimo fará coisas admiráveis.',
'Só existe um êxito: a capacidade de levar a vida que se quer.',
'A coragem não é ausência do medo; é a persistência apesar do medo.',
'Só se pode alcançar um grande êxito quando nos mantemos fiéis a nós mesmos',
'O homem não teria alcançado o possível se, repetidas vezes, não tivesse tentado o impossível'
];
void _incrementCounter() {
setState(() {
_numeroRandom = new Random().nextInt(5);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Pressione o botão para gerar uma frase:',
),
Text(
_fraseDoDia[_numeroRandom],
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add_box),
),
);
}
}
I did some tests with the example you passed and displayed correctly, try to take the
style: Theme.of(context).textTheme.display1
to see if it solves.– Matheus Ribeiro
I just tested it on a real device here, and it worked normally. Apparently the problem was the Virtual Device, which was with some bug that caused this. Thanks!
– Lucas Verissimo