Flutter TextField-如何禁用键盘?
按下文本字段时如何禁用弹出键盘? 我想要一个约会时间选择器 (DatePicker来自pub.dev) 这就是我所尝试的:Flutter TextField-如何禁用键盘?,flutter,flutter-layout,Flutter,Flutter Layout,按下文本字段时如何禁用弹出键盘? 我想要一个约会时间选择器 (DatePicker来自pub.dev) 这就是我所尝试的: TextField( onTap: (){ SystemChannels.textInput.invokeMethod('TextInput.hide'); DatePicker.showDatePicker(context, showTitleActions: true
TextField(
onTap: (){
SystemChannels.textInput.invokeMethod('TextInput.hide');
DatePicker.showDatePicker(context,
showTitleActions: true,
minTime: DateTime(1940, 1, 1),
maxTime: DateTime.now(),
onConfirm: (date) {
birth=date;
print('confirm $birth');
}, currentTime: DateTime.now());
},
),
无论何时按下文本字段,键盘都会弹出一小段时间,然后被日期选择器取代。我希望键盘不要弹出。非常感谢。如果您不打算允许用户使用软键盘输入/编辑值,那么您可以使用widget with打开。如果您不打算允许用户使用软键盘输入/编辑值,那么,您可以使用widget with打开。只需在文本字段的
InputDecoration
属性中将enable
属性设置为false即可
TextField(
decoration: InputDecoration( enabled: false, ),
onTap: (){
SystemChannels.textInput.invokeMethod('TextInput.hide');
DatePicker.showDatePicker(context,
showTitleActions: true,
minTime: DateTime(1940, 1, 1),
maxTime: DateTime.now(),
onConfirm: (date) {
birth=date;
print('confirm $birth');
}, currentTime: DateTime.now());
},
),
只需在文本字段的
InputDecoration
属性中将enable
属性设置为false即可
TextField(
decoration: InputDecoration( enabled: false, ),
onTap: (){
SystemChannels.textInput.invokeMethod('TextInput.hide');
DatePicker.showDatePicker(context,
showTitleActions: true,
minTime: DateTime(1940, 1, 1),
maxTime: DateTime.now(),
onConfirm: (date) {
birth=date;
print('confirm $birth');
}, currentTime: DateTime.now());
},
),
简单地说,不要使用Textfield use Container,而是使用手势检测器将其包装起来,在容器中是作为文本选择的日期
GestureDetector(
onTap: (){
DatePicker.showPicker(context,
showTitleActions: true,
minTime: DateTime(1940, 1, 1),
maxTime: DateTime.now(),
onConfirm: (date){
setState((){
birth = date;
});
},
currentTime: DateTime.now()
);
}
child: Container(
child: Text("$birth")
)
)
简单地说,不要使用Textfield use Container,而是使用手势检测器将其包装起来,在容器中是作为文本选择的日期
GestureDetector(
onTap: (){
DatePicker.showPicker(context,
showTitleActions: true,
minTime: DateTime(1940, 1, 1),
maxTime: DateTime.now(),
onConfirm: (date){
setState((){
birth = date;
});
},
currentTime: DateTime.now()
);
}
child: Container(
child: Text("$birth")
)
)
到目前为止,我发现了更多的东西:设置
readOnly:true
。但在设计上仍然存在差异。到目前为止,我发现了更多的东西:设置readOnly:true
。但在设计上仍然存在差异