No Directionality widget found
The problem is not that you have not wrapped your widgets into MaterialApp. As the documentation says this error occurs due to the nesting of the same kind of Widgets like nesting of Row into Row, Column into Column or Column into ListView so the problem arises as it becomes unbounded constraints for the Widget so unable to identify the direction.
So to avoid this kind of problems usage of Flexible or Expanded occurs which identifies the remaining space.
用 materialapp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import 'package:flutter/material.dart' ; import 'dart:ui' as ui; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { // TODO: implement build return MaterialApp( title: 'hello' , home: Container( color: Colors.red, child: Column( children: <Widget>[ RaisedButton( child: Text( 'just test' , textDirection: TextDirection.ltr,), ) ], ), ), ); } } |
不用materialapp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import 'package:flutter/material.dart' ; import 'dart:ui' as ui; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { // TODO: implement build return MediaQuery( data: MediaQueryData.fromWindow(ui.window), child: Directionality(textDirection: TextDirection.rtl, child: Container( color: Colors.grey, child: Column( children: <Widget>[ RaisedButton( child: Text( 'just test' , textDirection: TextDirection.ltr,), ) ], ), )), ); } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步