我是否每次都要设置textDirection?

时间:2020-05-24 12:52:48

标签: android-studio flutter dart android-emulator

我绝对是Flutter的初学者。我一直在尝试阅读各种书籍,youtube视频,网络指南,但是当我在第一个hello world type Widget上关注它们时,几乎所有这些方法都失败了。

以下是指南提供的一些代码示例,该指南在虚拟设备的红色屏幕上引发了长时间错误,抱怨方向性:

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(
  home: Text('Hello World'),
));

但是,如果我这样更改它,它将起作用:

home: Text('Hello World', textDirection: TextDirection.ltr),

首先,我是否需要为每个文本字段设置textDirection,还是可以全局设置它?令我感到惊讶的是我必须进行所有设置-如果没有指定,我会认为从左到右将是默认设置。

第二,最近扑扑改变了吗?我发现的每本指南,教程或书似乎都没有在任何地方设置任何textDirection,它是否已更改,或者我的设置/配置有问题?

1 个答案:

答案 0 :(得分:0)

这很奇怪。您通常不必设置textDirection。实际上,我从来没有。我相信您的问题只是缺少的Scaffold小部件。

每个页面都应包含在一个脚手架中,它设置了许多标准值,并且由于许多原因非常重要。

 return Scaffold(
      body: Text("Hello World")

这里是更完整的。 Flutter应用程序的标准起点。

main()调用runApp(MyApp));,依次将MyHomePage()设置为起点。在MyApp中,您可以设置一些Appwide参数,例如主题。然后,您的实际用户界面和代码将进入MyHomePage

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.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
//This is your actual UI
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Tryout"),
      ),
      body: Center(

      ),
    );
  }
}