@override
Widget build(BuildContext context) {
final logo = Hero(
tag: 'hero',
child: CircleAvatar(
backgroundColor: Colors.transparent,
radius: 48.0,
child: Image.asset('assets/images/logo.png'),
),
);
final email = TextFormField(
controller: _usernameController,
keyboardType: TextInputType.emailAddress,
autofocus: false,
// initialValue: "hello@world.com",
validator: _validateEmail,
decoration: InputDecoration(
hintText: 'Email',
contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(32.0)),
),
);
final password = TextFormField(
autofocus: false,
controller: _passwordController,
obscureText: true,
//initialValue: "12345",
decoration: InputDecoration(
hintText: 'Password',
contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(32.0)),
),
);
final loginButton = Padding(
padding: EdgeInsets.only(left:16, right: 16, top: 16, bottom: 5),
child: RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(24),
),
onPressed: () {
bloc.fetchLoginDetails(_usernameController.text,_passwordController.text).then((result){
if(result != null && result is UserLoginModel){
//Navigator.of(context).pushNamed(HomePage.tag);
Navigator.push(context, MaterialPageRoute(
builder: (context) => HomePage(name: result.response.username),
));
}else {
_showDialog(result as UserLoginErrorModel);
}
});
},
padding: EdgeInsets.only(left:12, right: 12),
color: Colors.lightBlueAccent,
child: Text('Log In', style: TextStyle(color: Colors.white)),
),
);
请注意,我试图展示一个本地旋转器。谢了!
创建一个新变量:
bool checkLoginFinish = false;
您的登录函数是一个异步函数。可以在“whencomplete”之后使用“then”。
bloc.fetchLoginDetails(_usernameController.text,_passwordController.text).then((result
{
.....
}).whenComplete((){
setState(() {
checkLoginFinish = true;
});
});
如果checkFinish为false,则显示CircularProgressIndicator,如果不是,则不显示并转到新页面。
return checkLoginFinish ? LoginPage() : CircularProgressIndicator();
我正在尝试将我的颤动应用程序连接到我的手机,但它不起作用...我在终端中写了,它向我展示了一些错误: 我正在使用VS代码(如果很重要)。SDK管理器的路径是什么?为什么对我说“视觉工作室未安装”,如果它写在VS代码终端中? 谢谢大家!
在flatter中,我从磁盘读取一个文件,并将列表项显示为一个列表。使用ListView。生成器工作正常,但如果文本小部件显示单个值,则会出现此错误。有人能帮忙吗? 我得到的错误是以下RangeError在构建MyHomePage时抛出(脏,状态:_MyHomePageState#e9932):RangeError(索引):无效值:有效值范围为空:9
我知道这已经被问了很多次了,但没有任何答案可以帮助我。 我有一个对话框,它将在某个时刻弹出(当我调用方法“showServerDialog”时)。对话框显示出来,一切正常,直到我使用“negativeButton”关闭对话框,然后旋转屏幕。然后,对话框再次出现,尽管我取消了它。 我读了很多次,如果我使用show Dialog(int id)方法显示对话框并覆盖onCreateDialog(int
我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?
我想在左边部分显示个人资料图像,中间部分显示名称和公司(一个在另一个下面),右边部分显示列表图块内的评论和评级。我能够正确显示图像,评论和评级,但文本不显示。我想实现这一点: 图片和评级之间的空白是我想要显示文本的地方(姓名和公司,一个在另一个下面)。不知道我在这里错过了什么。 下面的代码片段: 在我看来,这似乎是一个返回