0
点赞
收藏
分享

微信扫一扫

RichText widgets require a Directionality widget ancestor.

白衣蓝剑冰魄 2022-02-03 阅读 25

Flutter编译运行时报错:

The following assertion was thrown building Text("双击事件DoubleTap", inherit: true, color: Color(0xffffffff), size: 24.0):
No Directionality widget found.

RichText widgets require a Directionality widget ancestor.


                               源代码 

import 'package:flutter/material.dart';

void main() => runApp(const GestureDetectorPage());

class GestureDetectorPage extends StatefulWidget {
  const GestureDetectorPage({Key? key}) : super(key: key);

  @override
  State<StatefulWidget> createState() {
    return GestureDetectorPageState();
  }
}

class GestureDetectorPageState extends State<GestureDetectorPage> {
  String operation = "No Gesture";

  @override
  Widget build(BuildContext context) {
    return Row(
      mainAxisAlignment: MainAxisAlignment.center, // 居中对齐
      children: [
        GestureDetector(
          child: Container(
            margin: const EdgeInsets.only(top: 20),
            alignment: Alignment.center,
            color: Colors.blue,
            width: 150,
            height: 80,
            child: Text(
              operation,
             // textDirection: TextDirection.ltr,
              style: const TextStyle(color: Colors.white,fontSize: 24),
            ),
          ),
          onTap: () => updateGesture("单击事件Tap"),
          onDoubleTap: () => updateGesture("双击事件DoubleTap"),
          onLongPress: () => updateGesture("长按事件LongPress"),
        )
      ],
    );
  }

  void updateGesture(String text) {
    setState(() {
      operation = text;
    });
  }
}
打开 textDirection: TextDirection.ltr,这样代码即可;
举报

相关推荐

0 条评论