您正在尝试使用无上下文导航,而无需 GetMaterialApp 或 Get.key。 如果您正在测试您的应用程序,您可以使用: [Get.testMode = true],或者如果您正在运行应用程序 物理设备或模拟器,您必须交换您的 [MaterialApp] 对于 [GetMaterialApp]。
这是我按下按钮时收到的错误。我怎样才能修复这个错误并使按钮正常工作。
代码:
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart';
import 'package:hetmaantje/constants.dart';
import 'package:hetmaantje/quiz_screen.dart';
class welcome_screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
SvgPicture.asset("assets/icons/bg.svg", fit: BoxFit.fill),
SafeArea(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: kDefaultPadding),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Spacer(flex: 2), //2/6
Text(
"Let's Play Quiz,",
style: Theme.of(context).textTheme.headline4?.copyWith(
color: Colors.pink.shade100, fontWeight: FontWeight.bold),
),
Text("Enter your informations below"),
Spacer(), // 1/6
TextField(
decoration: InputDecoration(
filled: true,
fillColor: Color(0xFF1C2341),
hintText: "Full Name",
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(12)),
),
),
),
Spacer(), // 1/6
InkWell(
onTap: () => Get.to(quiz_screen()),
child: Container(
width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.all(kDefaultPadding * 0.75), // 15
decoration: BoxDecoration(
gradient: kPrimaryGradient,
borderRadius: BorderRadius.all(Radius.circular(12)),
),
child: Text(
"Lets Start Quiz",
style: Theme.of(context)
.textTheme
.button
?.copyWith(color: Colors.black),
),
),
),
Spacer(flex: 2), // it will take 2/6 spaces
],
),
),
),
],
),
);
}
}
```
在您的
main.dart
文件中,将 MaterialApp
替换为 GetMaterialApp
@override
Widget build(BuildContext context) {
return GetMaterialApp(
//
);
}
查看 Getx 包文档的步骤 1 文档链接
但是如果我使用 GetMaterialApp.router 它会显示此错误] 未处理的异常:您正在尝试使用无上下文导航而无需 E/flutter (17576):GetMaterialApp 或 Get.key。 E/flutter (17576):如果您正在测试您的应用程序,您可以使用: E/flutter (17576): [Get.testMode = true],或者如果您正在运行应用程序 E/flutter (17576):物理设备或模拟器,必须交换你的[MaterialApp] E/flutter (17576):用于 [GetMaterialApp]。