flutter - 如何以编程方式更改 AppBar 标题?
问题描述
一旦构建了屏幕,那么在某种逻辑之后,我需要更改 AppBar 标题,而无需再次执行 build() 方法。这个怎么做?
解决方案
您可以在 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,
),
),
);
}
}
推荐阅读
- java - 如何检查@RequestParam 是否为空
- android - Android:如何使用条件语句更改 TextColor
- java - 使用不同的实现版本(Android Studio)
- r - 如果,那么 R 中的语句
- c++ - 如何推断类型是否为 lambda?
- android - 材料设计滑块 - 可访问性问题 - 内容描述
- typescript - 使用 Pulumi 将 helloworld docker 镜像部署到 GKE
- ios - 如何在 iOS 上使用谷歌地图或苹果地图创建送货区域/区域
- ethereum - 如何使用 Remix 将智能合约发布到主网
- javascript - ClearInterval 不起作用,下面的 setInterval 以 2 倍速度重启