【发布时间】:2021-03-28 15:32:22
【问题描述】:
只要用户登录我的应用程序,就会将用户重定向到 homepage 并且 homepage 有一个 bottomNavigationBar 和一个 AppBar
在这个AppBar 中,我显示了用户的头像 和appname。为了展示这一点,我使用:
Stack(
children: [
FutureBuilder(
future: getAvatar(),
builder: (context, snapshot) {
if (snapshot.hasError) {
return ClipRRect(
borderRadius: BorderRadius.circular(25.0),
child: Image.asset(
'assets/default_avatar.png',
fit: BoxFit.cover,
),
);
}
if (snapshot.connectionState == ConnectionState.done) {
return Center(
child: SizedBox(
height: 45.0,
child: ClipRRect(
borderRadius: BorderRadius.circular(25.0),
child: FadeInImage.assetNetwork(
placeholder: 'assets/default_avatar.png',
image: snapshot.data['avatar'],
fit: BoxFit.cover,
),
),
),
);
}
return Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
);
},
),
],
效果很好,但我认为这不是一个好习惯......每次我从底部导航栏更改页面时,头像都会“重新加载”(你会看到CircularProgressIndicator)。没有帮助它是一个有状态的类
因此,我阻止这种情况发生的解决方案是将用户数据保存在手机上的某个位置,并在需要时获取该信息。 但如何
仅供参考,不仅仅是头像,我会显示用户名和用户邮箱。如果有人有可以将我重定向到的示例,那就太好了!
谢谢!
【问题讨论】:
-
使用颤振在本地存储数据已经发布:stackoverflow.com/a/41448527/8382028 Shared Preferences 可能是要走的路
-
可以分享这门课的完整代码吗?
-
为什么不使用 StreamBuilder 而不是 FutureBuilder?
-
@Lee3 菜鸟问题!
-
@Ants ????去过那里的兄弟!编码愉快!