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:
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
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,), ) ], ), )), ); } }