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

  

    原文作者:CrossPython
    原文地址: https://www.cnblogs.com/pythonClub/p/10569699.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞