Flutter 如何修复_在颤振中新创建的项目中出现debuglocked错误?
请有人帮我解决一下,我解决不了这个问题,有人说这是导航错误,有人说做颤振清洁和颤振医生等,但它不起作用, 这只是一个简单的无状态小部件,应该在单击两个按钮后转到另一个屏幕,除此之外没有其他信息 请检查我的密码Flutter 如何修复_在颤振中新创建的项目中出现debuglocked错误?,flutter,Flutter,请有人帮我解决一下,我解决不了这个问题,有人说这是导航错误,有人说做颤振清洁和颤振医生等,但它不起作用, 这只是一个简单的无状态小部件,应该在单击两个按钮后转到另一个屏幕,除此之外没有其他信息 请检查我的密码 import 'package:flutter/material.dart'; import 'package:survey/content/agreement.dart'; import 'package:survey/widgets/animations.dart'; import '
import 'package:flutter/material.dart';
import 'package:survey/content/agreement.dart';
import 'package:survey/widgets/animations.dart';
import 'package:survey/widgets/widgetlist.dart';
import '../widgets/buttonstyle.dart';
class choosepage extends StatelessWidget {
@override
Widget build(BuildContext context) {
precacheImage(AssetImage(imgtit), context);
return SafeArea(
child: Scaffold(
resizeToAvoidBottomInset: true,
backgroundColor: Colors.white,
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text("Welcome to",style: TextStyle(fontSize: 20,color: Colors.indigo,fontWeight: FontWeight.bold),),
SizedBox(width: 15),
Image.asset(imgtit,width: 200,height: 100,),
SizedBox(height: 40),
Image.asset(imgtit2,width: 250,height: 150,),
],
),
),
SizedBox(
height: 70,
),
Text(
'Select Language',
style: TextStyle(fontSize: 20,color: Colors.indigo,fontWeight: FontWeight.bold)
),
SizedBox(
height: 10,
),
Text(
'Pumili ng Wika',
style: TextStyle(fontSize: 20,color: Colors.indigo,fontWeight: FontWeight.bold),
),
SizedBox(
height: 40,
),
roundedRectButton("English", signInGradients,Navigator.push(context, SlideRightRoute(page: agreementscreen()));),
roundedRectButton("Tagalog", signUpGradients,Navigator.push(context, SlideRightRoute(page: agreementscreen()));)
],
)
),
)
);
}
}
这里是错误,请帮助我
更新
下面是我使用的路线动画,包括sliderightroute,
请随便检查
import 'package:flutter/material.dart';
class ScaleRoute extends PageRouteBuilder {
final Widget page;
ScaleRoute({this.page})
: super(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) =>
page,
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) =>
ScaleTransition(
scale: Tween<double>(
begin: 0.0,
end: 1.0,
).animate(
CurvedAnimation(
parent: animation,
curve: Curves.fastOutSlowIn,
),
),
child: child,
),
);
}
class SlideRightRoute extends PageRouteBuilder {
final Widget page;
SlideRightRoute({this.page})
: super(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) =>
page,
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) =>
SlideTransition(
position: Tween<Offset>(
begin: const Offset(1, 0),
end: Offset.zero,
).animate(animation),
child: child,
),
);
}
class FadeRoute extends PageRouteBuilder {
final Widget page;
FadeRoute({this.page})
: super(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) =>
page,
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) =>
FadeTransition(
opacity: animation,
child: child,
),
);
}
class SizeRoute extends PageRouteBuilder {
final Widget page;
SizeRoute({this.page})
: super(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) =>
page,
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) =>
Align(
child: SizeTransition(
sizeFactor: animation,
child: child,
),
),
);
}
导入“包装:颤振/材料.省道”;
类ScaleRoute扩展了PageRouteBuilder{
最终窗口小部件页面;
ScaleRoute({this.page})
:超级(
页面生成器:(
构建上下文上下文,
动画,,
动画二级动画,
) =>
页
转换生成器:(
构建上下文上下文,
动画,,
动画二级动画,
孩子,
) =>
刻度转换(
音阶:吐温(
开始:0.0,
完:1.0,,
).制作动画(
曲线化(
家长:动画,
曲线:Curves.FastOutSwowin,
),
),
孩子:孩子,
),
);
}
类SlideRightRoute扩展PageRouteBuilder{
最终窗口小部件页面;
SlideRightRoute({this.page})
:超级(
页面生成器:(
构建上下文上下文,
动画,,
动画二级动画,
) =>
页
转换生成器:(
构建上下文上下文,
动画,,
动画二级动画,
孩子,
) =>
幻灯片转换(
位置:吐温(
开始:常数偏移量(1,0),
结束:偏移0.0,
).制作动画(动画),
孩子:孩子,
),
);
}
类FadeRoute扩展了PageRouteBuilder{
最终窗口小部件页面;
FadeRoute({this.page})
:超级(
页面生成器:(
构建上下文上下文,
动画,,
动画二级动画,
) =>
页
转换生成器:(
构建上下文上下文,
动画,,
动画二级动画,
孩子,
) =>
衰减转换(
不透明度:动画,
孩子:孩子,
),
);
}
类SizeRoute扩展PageRouteBuilder{
最终窗口小部件页面;
SizeRoute({this.page})
:超级(
页面生成器:(
构建上下文上下文,
动画,,
动画二级动画,
) =>
页
转换生成器:(
构建上下文上下文,
动画,,
动画二级动画,
孩子,
) =>
对齐(
child:SizeTransition(
sizeFactor:动画,
孩子:孩子,
),
),
);
}
这是RoundedRect按钮
import 'package:flutter/material.dart';
Widget roundedRectButton(String title, List<Color> gradient,loc) {
return Builder(builder: (BuildContext mContext) {
return Padding(
padding: EdgeInsets.only(bottom: 10),
child: Stack(
alignment: Alignment(1.0, 0.0),
children: <Widget>[
InkWell(
onTap: (){
loc;
},
child: Container(
alignment: Alignment.center,
height: 60,
width: MediaQuery.of(mContext).size.width / 1.3,
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30.0)),
gradient: LinearGradient(
colors: gradient,
begin: Alignment.topLeft,
end: Alignment.bottomRight),
),
child: Text(title,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.w500),maxLines: 1,),
padding: EdgeInsets.only(top: 16, bottom: 16),
),
),
],
),
);
});
}
const List<Color> signInGradients = [
Color(0xFF0EDED2),
Color(0xFF32127a),
];
const List<Color> signUpGradients = [
Color(0xFF87e650),
Color(0xFF3a8c0b),
];
class CustomClipPath extends CustomClipper<Path> {
var radius=8.0;
@override
Path getClip(Size size) {
Path path = Path();
path.moveTo(radius, 0.0);
path.arcToPoint(Offset(0.0, radius),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(0.0, size.height - radius);
path.arcToPoint(Offset(radius, size.height),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(size.width - radius, size.height);
path.arcToPoint(Offset(size.width, size.height - radius),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(size.width, radius);
path.arcToPoint(Offset(size.width - radius, 0.0),
clockwise: true, radius: Radius.circular(radius));
return path;
}
@override
bool shouldReclip(CustomClipper<Path> oldClipper) => false;
}
导入“包装:颤振/材料.省道”;
小部件roundedRectButton(字符串标题、列表渐变、loc){
返回生成器(生成器:(BuildContext mContext){
返回填充(
填充:仅限边缘设置(底部:10),
子:堆栈(
对齐:对齐(1.0,0.0),
儿童:[
墨水池(
onTap:(){
loc;
},
子:容器(
对齐:对齐.center,
身高:60,
宽度:MediaQuery.of(mContext).size.width/1.3,
装饰:造型装饰(
形状:圆形矩形边框(
边界半径:边界半径。圆形(30.0)),
梯度:线性梯度(
颜色:渐变,
开始:Alignment.topLeft,
结束:对齐。右下角),
),
子:文本(标题,
textAlign:textAlign.center,
样式:TextStyle(
颜色:颜色,白色,
尺码:18,
fontWeight:fontWeight.w500),最大行数:1,),
填充:仅限边缘设置(顶部:16,底部:16),
),
),
],
),
);
});
}
常量列表符号半径=[
颜色(0xFF0EDD2),
颜色(0xFF32127a),
];
常量列表注册梯度=[
颜色(0xFF87e650),
颜色(0xFF3a8c0b),
];
类CustomClipPath扩展了CustomClipper{
var半径=8.0;
@凌驾
路径getClip(大小){
路径=路径();
路径移动到(半径,0.0);
路径弧点(偏移量(0.0,半径),
顺时针:真,半径:半径。圆形(半径));
path.lineTo(0.0,size.height-半径);
路径弧点(偏移量(半径、大小、高度),
顺时针:真,半径:半径。圆形(半径));
path.lineTo(size.width-半径、size.height);
路径弧点(偏移量(尺寸.宽度,尺寸.高度-半径),
顺时针:真,半径:半径。圆形(半径));
路径.lineTo(大小、宽度、半径);
路径弧点(偏移量(尺寸.宽度-半径,0.0),
顺时针:真,半径:半径。圆形(半径));
返回路径;
}
@凌驾
bool shouldReclip(CustomClipper oldClipper)=>false;
}
请发布roundedRectButton代码尽管如此,问题在于路由未返回具有生成小部件的小部件或SlidingRightRoute类。不管怎样,我第一次读代码时,他可能会绕过linter(Pascal案例)。这是这个的复制品。使用滑块动画和roundedrectbutton及其parameter@Clueless我无法理解他的解决方案,所以我把这个贴在这里,我可以跟进吗?重新安装和重新设置我的电脑后仍然存在相同的问题
import 'package:flutter/material.dart';
Widget roundedRectButton(String title, List<Color> gradient,loc) {
return Builder(builder: (BuildContext mContext) {
return Padding(
padding: EdgeInsets.only(bottom: 10),
child: Stack(
alignment: Alignment(1.0, 0.0),
children: <Widget>[
InkWell(
onTap: (){
loc;
},
child: Container(
alignment: Alignment.center,
height: 60,
width: MediaQuery.of(mContext).size.width / 1.3,
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30.0)),
gradient: LinearGradient(
colors: gradient,
begin: Alignment.topLeft,
end: Alignment.bottomRight),
),
child: Text(title,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.w500),maxLines: 1,),
padding: EdgeInsets.only(top: 16, bottom: 16),
),
),
],
),
);
});
}
const List<Color> signInGradients = [
Color(0xFF0EDED2),
Color(0xFF32127a),
];
const List<Color> signUpGradients = [
Color(0xFF87e650),
Color(0xFF3a8c0b),
];
class CustomClipPath extends CustomClipper<Path> {
var radius=8.0;
@override
Path getClip(Size size) {
Path path = Path();
path.moveTo(radius, 0.0);
path.arcToPoint(Offset(0.0, radius),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(0.0, size.height - radius);
path.arcToPoint(Offset(radius, size.height),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(size.width - radius, size.height);
path.arcToPoint(Offset(size.width, size.height - radius),
clockwise: true, radius: Radius.circular(radius));
path.lineTo(size.width, radius);
path.arcToPoint(Offset(size.width - radius, 0.0),
clockwise: true, radius: Radius.circular(radius));
return path;
}
@override
bool shouldReclip(CustomClipper<Path> oldClipper) => false;
}