Text widget displays only 1 character

Asked

Viewed 159 times

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),
      ),
    );
  }
}
  • 1

    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.

  • 1

    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!

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.