我每次都必须设置 textDirection 吗?
Do I have to set the textDirection every time?
我绝对是 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,还是可以全局设置?我很惊讶我必须设置它 - 如果没有指定,我会认为从左到右将是默认设置。
其次,flutter最近改了吗?我找到的每本指南、教程或书籍似乎都没有在任何地方设置任何 textDirection,它是否已更改或我的 setup/config 有问题?
这很奇怪。您通常不必设置 textDirection。事实上,我从来没有。我相信您的问题只是缺少 Scaffold
小部件。
每个页面都应该包含在一个脚手架中,它设置了很多标准值并且出于多种原因非常重要。
return Scaffold(
body: Text("Hello World")
这里更完整。 Flutter 应用程序的标准起点。
main() 调用 runApp(MyApp));
,后者又将 MyHomePage()
设置为起点。在 MyApp 中你可以设置一些 Appwide 参数,比如 Themes。您的实际 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(
),
);
}
}
我绝对是 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,还是可以全局设置?我很惊讶我必须设置它 - 如果没有指定,我会认为从左到右将是默认设置。
其次,flutter最近改了吗?我找到的每本指南、教程或书籍似乎都没有在任何地方设置任何 textDirection,它是否已更改或我的 setup/config 有问题?
这很奇怪。您通常不必设置 textDirection。事实上,我从来没有。我相信您的问题只是缺少 Scaffold
小部件。
每个页面都应该包含在一个脚手架中,它设置了很多标准值并且出于多种原因非常重要。
return Scaffold(
body: Text("Hello World")
这里更完整。 Flutter 应用程序的标准起点。
main() 调用 runApp(MyApp));
,后者又将 MyHomePage()
设置为起点。在 MyApp 中你可以设置一些 Appwide 参数,比如 Themes。您的实际 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(
),
);
}
}