我想创建一个Snackbar,看起来像下面的图片,谷歌已经创建了。像这样的东西:
我想开始创建一个,但我不知道如何开始或如何自定义Snackbar. 我不想使用颤振吐司插件。我想创建我自己的Snackbar. 如果有人指导我,那就太好了
Vin*_*rga 14
首先,根据你的截图,也许这已经被支持了SnackBarBehavior,只需传递snackbar构造函数behavior: SnackBarBehavior.floating,就像这样:
SnackBar(behavior: SnackBarBehavior.floating, content: ...)
Run Code Online (Sandbox Code Playgroud)
如果这仍然不够好,最好的方法是SnackBar从小部件开始并对其进行自定义。尽管小部件的构造函数参数使小部件非常灵活,但SnackBar小部件不允许您修改它的每一个小细节。
例如,我想删除小吃栏中的一些填充并在顶部添加一些边框,而在撰写本文时,这是不可能的。
您不应直接修改 ,snack_bar.dart因为它会修改您的本地副本 Flutter。直接修改snack_bar.dart有几个缺点:
添加任何复杂调整、对SnackBar小部件实施任何自定义(当然,除了其公共界面)的最佳解决方案是implementit。
class BetterSnackBar extends StatelessWidget implements SnackBar {
Widget build(BuildContext context) {
// Tweak the build method for maximum customization
}
// rest of the class, you can just copy-paste it
// from SnackBar, if you want to make sure you support
// everything the original snack bar supports
}
Run Code Online (Sandbox Code Playgroud)
这样,您仍然可以BetterSnackBar像原始小部件一样使用您的自定义小部件,例如,使用脚手架显示它:Scaffold.of(context).showSnackBar(betterSnackBar);。
此解决方案还不会影响您本地的 Flutter 副本(其他项目不会受到它的影响,您可以轻松地在 Flutter 频道之间切换并在您的计算机上升级您的 Flutter 版本),这意味着您可以对您的项目进行版本控制BetterSnackBar(CI 工作,合作)工人将看到变化)。
这不是一个小吃店,但它可以起到同样的作用。
1) 使用 LinearLayout、Relative 或 Constraint 创建一个视图,该视图看起来像您想要将其放置在页面上的小吃店。
2) 将“可见性”设置为“消失”或“不可见”。
3) 将 onCLickListener 添加到按钮,使 Snackbar(您刚刚制作的布局)在单击按钮时可见。
| 归档时间: |
|
| 查看次数: |
9383 次 |
| 最近记录: |