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,这样代码即可;
|