我正在尝试设计一个自定义,TextFormField并且一切正常,只是我只需要在TextFormField聚焦时显示边框(有人轻敲它)即可。
由于我认为不可能改变边框的颜色,但是在我看来,只能通过hintColor主题的来设置该颜色。但是,由于hintColor还会更改提示的颜色,因此无法使用显示的文本。
final theme = Theme.of(context);
return new Theme(
data: theme.copyWith(primaryColor: Colors.blue),
child: TextFormField(
autocorrect: false,
style: TextStyle(color: Colors.green),
decoration: new InputDecoration(
fillColor: Colors.white,
filled: true,
contentPadding:
EdgeInsets.only(bottom: 10.0, left: 10.0, right: 10.0),
labelText: title,
),
validator: this.validator,
onSaved: (String newValue) {
setMethod(newValue);
},
),
);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我正在寻找viewDidLayoutSubviews只调用一次的替代方法。
我使用此代码将登录名移出视图:
override func viewDidLayoutSubviews() {
username_input.center.x -= view.bounds.width
password_input.center.x -= view.bounds.width
login_button.center.x -= view.bounds.width
}
Run Code Online (Sandbox Code Playgroud)
我需要这样做一次,这样我就可以在viewDidAppear. 这一切都很好,直到我将视图拆分为不同的子视图,现在该函数被多次调用。我找不到任何仅被调用一次的等效函数。
我有一个像这样的mysql表
+----------+----------+-------------------+
| entrykey | user_key | validfrom |
+----------+----------+-------------------+
| 1 | 3 | 2016-4-1 0:0:0.0 |
| 2 | 3 | 2016-12-1 0:0:0.0 |
| 3 | 2 | 2016-12-1 0:0:0.0 |
| 4 | 2 | 2016-3-1 0:0:0.0 |
+----------+----------+-------------------+
Run Code Online (Sandbox Code Playgroud)
现在我试图只获得validfrom是最新的每个用户的行.所以我正在做这样的查询:
SELECT entrykey, user_key, max(validfrom)
FROM table
Group by user_key;
Run Code Online (Sandbox Code Playgroud)
它几乎适用于我的所有数据,只是我在表中发布的这两个例子选择了较旧的错误行.因此对于user_key 3,它选择entrykey 1,而对于user_key 2,它选择entrykey 4.
我究竟做错了什么?