[英]How to hide positionWigdet when keyboard is open at indexedStack Flutter
I used IndexedStack in my main.dart, I am using 3 different pages here.我在 main.dart 中使用了 IndexedStack,我在这里使用了 3 个不同的页面。 Like x.dart, y.dart, z.dart.
像 x.dart、y.dart、z.dart。
I have such a banner on page X. Bottom 0 is coming.我在第 X 页上有这样的横幅。底部 0 来了。 Appears when the keyboard is on.
键盘打开时出现。 I want to hide this when the keyboard is open.
我想在键盘打开时隐藏它。 But since indexedstack is in main.dart, I cannot control keyboard open / not on x.dart page.
但由于 indexedstack 在 main.dart 中,我无法控制键盘打开/不在 x.dart 页面上。
How can I hide this while the keyboard is on?键盘打开时如何隐藏它? I would appreciate it if you could help.
如果您能提供帮助,我将不胜感激。
Banner code here.横幅代码在这里。
return Positioned(
width: _bannerAd.size.width.toDouble(),
height: _bannerAd.size.height.toDouble(),
child: Align(
child: Container(
width: _bannerAd.size.width.toDouble(),
height: _bannerAd.size.height.toDouble(),
color: Colors.transparent,
child: child,
),
));
You can make use of flutter_keyboard_visibility package:您可以使用flutter_keyboard_visibility package:
flutter pub get
.flutter pub get
。KeyboardVisibilityBuilder
and use it to hide your Positioned
X widget like so:KeyboardVisibilityBuilder
包装您的索引堆栈,并使用它来隐藏您的Positioned
X 小部件,如下所示:import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
@override
Widget build(BuildContext context) {
return KeyboardVisibilityBuilder(
builder: (context, isKeyboardVisible) {
return IndexedStack(
index: 1,
children: <Widget>[
if(!isKeyboardVisible) XWidget(),
YWidget(),
ZWidget(),
],
)
}
);
If you need to hide only part of Positioned widget, just pass isKeyboardVisible
to your X widget and conditionally hide your banner same way.如果您只需要隐藏 Positioned 小部件的一部分,只需将
isKeyboardVisible
传递给您的 X 小部件并以同样的方式有条件地隐藏您的横幅。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.