小吃店的持续时间和高度

时间:2018-09-24 16:28:09

标签: flutter height duration snackbar

我想展示小吃吧。
我单击手势检测器后,此小吃有两个按钮。
问题是小吃栏出现了几秒钟,然后消失了。

所以我有两个问题:

  1. 如何在用户执行操作并单击按钮之前停止小吃栏消失?
  2. 此外,小吃店还具有整个屏幕的高度。
    如何在屏幕底部将其设置为特定的高度?

4 个答案:

答案 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();