Flutter使用浮动动作按钮访问底部导航栏项目

时间:2020-07-09 22:10:25

标签: flutter dart

我有一个Flutter应用程序,它使用IndexedStack保存可以通过bottomnavigationbar访问的两个页面的状态。问题是,其中之一页面必须由floatactionbutton编辑。此浮动操作按钮通过增加名为list的状态变量来编辑主窗口小部件(两个BottomNavigationBarPages)的状态,这反过来又应添加更多行。但是,一旦我使用IndexedStack保存状态,就不会这样做。我的IndexedStack设置如下:

class _Widg2State extends State<Widg2> {
List<int> list = [];

@override
Widget build(BuildContext context) {

  pageList.add(_Page1());
  pageList.add(_Page2());


  List<int> list2 = [];
  list2 = [1];

return new Scaffold(

    floatingActionButton: Stack(
          children: <Widget>[
            Padding(padding: EdgeInsets.only(bottom:80),
            child: Align(
              alignment: Alignment.bottomRight,
              child: _FAB1(),
            ),),

            Align(
              alignment: Alignment.bottomRight,
              child: _FAB2(),  
            ),  //align
          ],
        ),
            appBar: new AppBar(
              backgroundColor: Colors.green,
              title: new Text(
                "Matts app",
                style: new TextStyle(color:  Colors.white)
              ),  //Text
              leading: new IconButton(
                icon: new Icon(Icons.arrow_back),
                onPressed: () {
                  Navigator.pop(context);
                }//onPressed
              ) //  IconButton
            ),  //appbar

            body: IndexedStack(
              index: _selectedIndex,
              children: pageList,
            ),//indexedstack
            /*body: _selectedIndex == 0 ?

浮动操作按钮可以更改列表的大小,而列表大小又可以更改页面的行数,但是可以更改。

这是相关页面:

Widget _Page1() {
          return ListView(
          padding: const EdgeInsets.all(8),
          children: <Widget>[
          Container(
            child: ListView.builder(
          itemCount: list.length,
          itemBuilder: (context, i) {
            print("i: ${i}");
            return listRow(valuepassed: i);
          },  //itembuilder
        ), //listview.builder
        //height: 200,
        height: MediaQuery.of(context).size.height*(4/5),
        width: double.infinity
      ), //container

我如何做到这一点,以便floatactionbuttons可以创建更多行?谢谢!

0 个答案:

没有答案