颤动底部导航条垫两次用于键盘

时间:2018-01-17 18:22:59

标签: android flutter bottomnavigationview

BottomNavigationBar有问题,键盘启动时它的高度会增加

Before

After focused on TextField

非常感谢对这个问题的见解。非常感谢你!

代码:

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      bottomNavigationBar: new BottomNavigationBar(
        items: <BottomNavigationBarItem>[
          new BottomNavigationBarItem(icon: new Icon(Icons.all_inclusive), title: new Text("Hello"), backgroundColor: Colors.cyan),
          new BottomNavigationBarItem(icon: new Icon(Icons.home), title: new Text("Hello"), backgroundColor: Colors.lightGreen),
        ],
      ),
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new TextField(),
    );
  }
}

3 个答案:

答案 0 :(得分:2)

我认为这就是这个已知问题。 https://github.com/flutter/flutter/issues/12084

如果有多个支架,则为每个支架添加一次衬垫。

答案 1 :(得分:0)

    ...
    <InnerBlocks
        template={ TEMPLATE }
    />

尝试一下。 在我的情况下,键盘和输入字段之间有很大的空间。 (不完全一样,我的标签栏正常)

我通过设置此属性来解决它。我不知道它是否适合您的情况。祝你好运!

答案 2 :(得分:0)

在我的情况下,我使用了MaterialApp,而我内部使用的是Scaffold,只是removing MaterialApp解决了问题。