每次都必须设置textDirection吗?

问题描述 投票:0回答:1

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

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

import 'package:flutter/material.dart';

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

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

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

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

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

android-studio flutter dart android-emulator
1个回答
0
投票

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

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

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

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

main()调用runApp(MyApp));,这又将MyHomePage()设置为起点。在MyApp中,您可以设置一些Appwide参数,例如主题。然后,您的实际UI和代码将进入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(

      ),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.