我想展示小吃吧。
我单击手势检测器后,此小吃有两个按钮。
问题是小吃栏出现了几秒钟,然后消失了。
所以我有两个问题:
答案 0 :(得分:8)
您可以使用长duration
HomeScreen.scaffoldKey.currentState.showSnackBar(
SnackBar(duration: const Duration(minutes: 5), content: Text(message)));
另请参阅https://material.io/design/components/snackbars.html#behavior
出现和消失
小吃栏显示时没有警告,不需要用户交互。 至少四秒钟后,它们会自动从屏幕上消失 秒,最多十秒。
答案 1 :(得分:4)
我写了一些有关如何解决此https://dev.to/eyewritecode/persisting-flutter-snackbar-until-user-interacts-with-it-2583
的内容您基本上必须设置较长的时间
duration: Duration(days: 1)
并在需要隐藏时调用以下内容。
Scaffold.of(context).hideCurrentSnackBar();
答案 2 :(得分:1)
例如,按下一些东西来显示小吃店,您可以使用以下代码:
new GestureDetector(
onTap:(){
final snackBar = SnackBar(content: Text('You pressed heart icon'),
duration: Duration(minutes: 3));
Scaffold.of(context).showSnackBar(snackBar());
} ,
child: new Icon(FontAwesomeIcons.heart,color: Colors.black) ,
),
答案 3 :(得分:-1)
final Snackbar snack = Snackbar.make(findViewById(android.R.id.content), helpMsg, Snackbar.LENGTH_INDEFINITE);
snack.setAction("OK", new View.OnClickListener() {
@Override
public void onClick(View v) {
// Respond to the click dismiss is automatic with this
}
});
View view = snack.getView();
FrameLayout.LayoutParams params =(FrameLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snack.show();