gpt4 book ai didi

flutter - 软键盘覆盖了 SlidingUpPanel flutter 上的 TextInput

转载 作者:行者123 更新时间:2023-12-02 19:00:37 28 4
gpt4 key购买 nike

这是package正在使用 ,当我在 panelBuilder 中使用 TextInput 时它同时具有 ListView 和 InputTextField,但是当我开始键入时,软键盘会覆盖 InputText 字段。

我还尝试添加这一行:

resizeToAvoidBottomInset: false,Scaffold在 Manfiest 文件中加上这个

<item name="android:windowFullscreen">true</item> .

但运气不佳。

以下是屏幕截图:

image one

[image two

最佳答案

panelBuilder 结果的内容包装在 Scaffold 中,并且不要更改 resizeToAvoidBottomInset。默认情况下,调整大小为true,这会将内容向上移动以避免在出现时被键盘隐藏。 false 设置会阻止调整大小的发生。

以下示例来自 slide_up_panel package example ,将 panelBuilder 参数结果包装在 Scaffold 中。 (我并不是建议您像下面那样包装 _panel ,只是更容易地展示以这种方式工作的示例。在 _panel 函数中使用 Scaffold 可能会更好本身。)

  @override
Widget build(BuildContext context){
_panelHeightOpen = MediaQuery.of(context).size.height * .80;

return Material(
child: Stack(
alignment: Alignment.topCenter,
children: <Widget>[

SlidingUpPanel(
maxHeight: _panelHeightOpen,
minHeight: _panelHeightClosed,
parallaxEnabled: true,
parallaxOffset: .5,
body: _body(),
// WRAP panel contents in Scaffold
panelBuilder: (sc) => Scaffold(body: _panel(sc)),
// ↑↑↑↑↑↑↑↑
borderRadius: BorderRadius.only(topLeft: Radius.circular(18.0), topRight: Radius.circular(18.0)),
onPanelSlide: (double pos) => setState((){
_fabHeight = pos * (_panelHeightOpen - _panelHeightClosed) + _initFabHeight;
}),
),

为了测试自己,将 TextFormField 添加到 Widget _panel(ScrollController sc) 方法的底部(第 242 行左右)

            SizedBox(height: 24,),
// ↓ Added for testing
TextFormField(
initialValue: 'type here',
onSaved: (txt) => null,
)

然后运行示例,向上滚动面板并点击 TextField 让键盘向上滑动。

panel pushed up by keyboard

关于flutter - 软键盘覆盖了 SlidingUpPanel flutter 上的 TextInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65631376/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com