键盘颤动时如何隐藏图像小部件?



大家好,我需要你们的帮助,我只想在键盘弹出时隐藏图像小部件, 但是当我单击文本字段并打开键盘时,它会不断关闭,您能帮我吗,我附上我的代码谢谢!

import 'package:flutter/material.dart';
import 'package:ovsursadmin/screens/authentication/login_card.dart';
class Login extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.blue[900],
body: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: ExactAssetImage('assets/bg-admin.png'),
fit: BoxFit.cover,
colorFilter: ColorFilter.mode(Colors.blue[900].withOpacity(0.1), BlendMode.dstATop),
)
),
child: SafeArea(
child: Container(
child : Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 10.0,),
// this code i want to fix it keeps closing the keyboard when pops
MediaQuery.of(context).viewInsets.bottom != 0 ? Container() : Image.asset('assets/urs.png',
height: 100,
width: 100,),
SizedBox(height: 25.0,),
Text('Admin Login', style: TextStyle(color: Colors.white),),
Text('Online Voting System', style: TextStyle(color: Colors.white),),
LoginCard(),
],
)
),
),
),
);
}
}

这是我的问题,当您单击文本字段并打开键盘时,它会不断关闭

使用

添加依赖项:

依赖: keyboard_visibility: ^0.5.6

法典:

bool _isKeyboardOpen = false;
@protected
void initState() {
super.initState();
KeyboardVisibilityNotification().addNewListener(
onChange: (bool visible) {
setState(() {
_isKeyboardOpen = visible;
});
},
);
}

在构建小部件中使用代码,例如:

选项 1:

_isKeyboardOpen ? Container() : Image.asset('assets/urs.png',
height: 100,
width: 100,)

选项 2:

if(!_isKeyboardOpen)
Image.asset('assets/urs.png', height: 100, width: 100,)

最新更新