我的代码是
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: Helper.of(context).onWillPop,
child: Scaffold(
key: _con.scaffoldKey,
resizeToAvoidBottomInset: true,
body: SingleChildScrollView(
child: Column(
children: <Widget>[
SizedBox(height: 60),
Center(
child: Image.asset(
'assets/img/villa_logo-transparent.png',
width: 230.0,
height: 230.0,
),
),
Stack(
children: [
createTextForm()
],
),
]),
),
),
);
}
这是我创建文本表单的方式
Widget createTextForm() {
return Positioned(
// top: config.App(context).appHeight(29.5) - 50,
child: Container(
// decoration: BoxDecoration(
// color: Theme.of(context).primaryColor,
// borderRadius: BorderRadius.all(Radius.circular(10)),
// boxShadow: [
// BoxShadow(
// blurRadius: 50,
// color: Theme.of(context).hintColor.withOpacity(0.2),
// )
// ]),
margin: EdgeInsets.symmetric(
horizontal: 20,
),
padding: EdgeInsets.symmetric(vertical: 2, horizontal: 27),
width: config.App(context).appWidth(88),
// height: config.App(context).appHeight(70),
// height: config.App(context).appHeight(80),
child: Form(
key: _con.loginFormKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextFormField(
keyboardType: TextInputType.text,
onSaved: (input) => _con.user.name = input,
validator: (input) => input.length < 3
? S.of(context).should_be_more_than_3_letters
: null,
decoration: InputDecoration(
labelText: S.of(context).full_name,
labelStyle: TextStyle(color: Theme.of(context).accentColor),
contentPadding: EdgeInsets.all(12),
hintText: S.of(context).john_doe,
hintStyle: TextStyle(
color: Theme.of(context).focusColor.withOpacity(0.7)),
prefixIcon: Icon(Icons.person_outline,
color: Theme.of(context).accentColor),
border: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.5))),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
),
),
SizedBox(height: 30),
TextFormField(
keyboardType: TextInputType.phone,
onSaved: (input) => _con.user.phone = input,
validator: (input) => input.length < 3
? S.of(context).should_be_more_than_3_letters
: null,
decoration: InputDecoration(
labelText: "Phone Number",
labelStyle: TextStyle(color: Theme.of(context).accentColor),
contentPadding: EdgeInsets.all(12),
hintText: "+1 234 56789",
hintStyle: TextStyle(
color: Theme.of(context).focusColor.withOpacity(0.7)),
prefixIcon: Icon(Icons.person_outline,
color: Theme.of(context).accentColor),
border: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.5))),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
),
),
SizedBox(height: 30),
TextFormField(
keyboardType: TextInputType.emailAddress,
onSaved: (input) => _con.user.email = input,
validator: (input) => !input.contains('@')
? S.of(context).should_be_a_valid_email
: null,
decoration: InputDecoration(
labelText: S.of(context).email,
labelStyle: TextStyle(color: Theme.of(context).accentColor),
contentPadding: EdgeInsets.all(12),
hintText: '',
hintStyle: TextStyle(
color: Theme.of(context).focusColor.withOpacity(0.7)),
prefixIcon: Icon(Icons.alternate_email,
color: Theme.of(context).accentColor),
border: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.5))),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
),
),
SizedBox(height: 30),
TextFormField(
obscureText: _con.hidePassword,
onSaved: (input) => _con.user.password = input,
validator: (input) => input.length < 6
? S.of(context).should_be_more_than_6_letters
: null,
decoration: InputDecoration(
labelText: S.of(context).password,
labelStyle: TextStyle(color: Theme.of(context).accentColor),
contentPadding: EdgeInsets.all(12),
hintText: '••••••••••••',
hintStyle: TextStyle(
color: Theme.of(context).focusColor.withOpacity(0.7)),
prefixIcon: Icon(Icons.lock_outline,
color: Theme.of(context).accentColor),
suffixIcon: IconButton(
onPressed: () {
setState(() {
_con.hidePassword = !_con.hidePassword;
});
},
color: Theme.of(context).focusColor,
icon: Icon(_con.hidePassword
? Icons.visibility
: Icons.visibility_off),
),
border: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.5))),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide(
color:
Theme.of(context).focusColor.withOpacity(0.2))),
),
),
SizedBox(height: 30),
registerButtonCall(),
bottomLoginText(),
],
),
),
),
);
//
// ]);
}
您的定位小部件必须直接位于堆栈
内,而不是位于返回定位
的另一个小部件内。
Stack(
children: [
Positioned(
child: TextForm()
)
],
),
这只是Flutter进行错误检查以确保Posi的
仅在Stack
中使用的方式。
与< code >如何扩展相同
我只是导入了包background\u位置,没有使用它。即使我犯了这个错误 尝试更改kotlin版本,更改了MinSDK版本,但没有更改。
Xcode的输出:在文件中包含从 /Users/dani/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.3/ios/Classes/FLTURLLauncherPlugin.m: 7: /Users/dani/development/flutter/.pub-cache/hosted/pub.dart
在flutter_application中运行“flutter pub get”... 因为google_map_location_picker>=3.3.1<4.1.3依赖于intl>=0.16.0<=0.16.1,而且来自sdk的每个版本的flutter_localizations都依赖于intl 0.17.0,所以google_map_location_picker>=3.3.1<4.1.3
我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?
我将location包添加到project的pubspec.yamel中,当我构建我的项目时,我得到以下错误: 失败:生成失败,出现异常。 失败:生成失败,出现异常。 错误:任务“:compilereleaseJavaWithJavac”执行失败。编译失败;有关详细信息,请参阅编译器错误输出。 try:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获
在使用解决版本问题时,我得到以下错误: 因为google_map_location_picker 3.3.3依赖于intl>=0.16.0<=0.16.1,而sdk中的每个flutter_localizations版本都依赖于intl 0.17.0,所以google_map_location_picker 3.3.3与sdk中的flutter_localizations不兼容。因此,由于food_