首页 > 解决方案 > 如何以编程方式更改 AppBar 标题?

问题描述

一旦构建了屏幕,那么在某种逻辑之后,我需要更改 AppBar 标题,而无需再次执行 build() 方法。这个怎么做?

标签: flutter

解决方案


您可以在 StatefulWidget 内部调用 setState() 方法并更改 AppBar 的标题。您可以这样做:

class HomePage extends StatefulWidget {
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  String appBarTitle = "Title1";
  void changeTitle(){
    setState(() {
      appBarTitle = appBarTitle=="Title1"?"Title2":"Title1";      
    });
  }
  @override
  Widget build(BuildContext context) {
    return Container(
       child: Scaffold(
         appBar: AppBar(
           title: Text(appBarTitle),
         ),
         floatingActionButton: FloatingActionButton(
           onPressed: changeTitle,
         ),
       ),
    );
  }
}

推荐阅读