Flutter 行小部件需要一个textDirection
使用“行”或“列”小部件会导致以下错误:Flutter 行小部件需要一个textDirection,flutter,Flutter,使用“行”或“列”小部件会导致以下错误: ════════ Exception caught by rendering library ═════════════════════════════════════════════════════ Horizontal RenderFlex with MainAxisAlignment.start has a null textDirection, so the alignment cannot be resolved. 'package:flutt
════════ Exception caught by rendering library ═════════════════════════════════════════════════════
Horizontal RenderFlex with MainAxisAlignment.start has a null textDirection, so the alignment cannot be resolved.
'package:flutter/src/rendering/flex.dart':
Failed assertion: line 462 pos 18: 'textDirection != null'
The relevant error-causing widget was:
Row file:///C:/Users/...
════════════════════════════════════════════════════════════════════════════════════════════════════
除非我为Row/Column小部件提供textDirection属性,否则它就可以工作。以下是一个例子:
import 'package:flutter/material.dart';
void main() {
runApp(MyWidget());
}
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.stretch,
// textDirection: TextDirection.ltr,
children: [
BlueBox(),
BlueBox(),
BlueBox(),
],
);
}
}
除非我添加textDirection属性,否则我不理解为什么代码不能工作。
注:我遵循以下文件的规定:
textDirection参数默认为环境方向性(如果需要)
任何如果没有环境方向性,则显示文字方向
需要确定布局顺序(通常是
除非该行没有子行或只有一个子行),否则为
消除mainAxisAlignment的起始值或结束值的歧义
textDirection不能为空
你的问题是什么?我的问题是:为什么我要添加textDirection属性来让它工作?未指定需要textDirection。