버튼 클릭 플러터에서 키보드 닫기
class _HomeState extends State<Home> {
var currentFocus;
unfocus() {
currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
}
Widget build(BuildContext context) {
return GestureDetector(
onTap: unfocus,
child: Scaffold(...)
)
}
플러터 트리거 쇼 오프 키보드
FocusScope.of(context).unfocus()
스위프트에서 키보드를 해제하는 방법
override func viewDidLoad() {
super.viewDidLoad()
//Looks for single or multiple taps.
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
//Uncomment the line below if you want the tap not not interfere and cancel other interactions.
//tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
//Calls this function when the tap is recognized.
@objc func dismissKeyboard() {
//Causes the view (or one of its embedded text fields) to resign the first responder status.
view.endEditing(true)
}
키보드 플러터 해제
// The correct way of closing the keyboard is
FocusScope.of(context).unfocus();
플러터에서 키보드를 자동으로 닫는 방법
FocusScope.of(context).requestFocus(FocusNode());
플러터에서 키보드를 닫을 수있는 방법
class YourPage extends StatefulWidget {
createState() => _YourPageState();
}
class _YourPageState extends State<MobileHome> {
FocusNode focusNode = new FocusNode();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
TextField(
focusNode: focusNode,
),
SizedBox(height: 10,),
RaisedButton(child: Text("UP"),onPressed: (){
FocusScope.of(context).requestFocus(focusNode);
},),
SizedBox(height: 10,),
RaisedButton(child: Text("DOWN"),onPressed: (){
focusNode.unfocus();
},),
],
)
);
}
}