如何在没有按钮的情况下在抖动中添加分隔线?

时间:2020-01-10 12:17:51

标签: flutter divider flutter-alertdialog

我必须为警报对话框添加一个水平和垂直分隔线,如图所示。

我正在尝试的唯一方法是在这里,最好不要引用此代码,但我需要按照图像中的预期进行设计。

AlertDialog(
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.all(Radius.circular(10.0))
  ),
  content: Column(
    mainAxisSize: MainAxisSize.min,
    children: <Widget>[
      new Row(
        children: <Widget>[
          Expanded(
            child: Container(
              decoration: BoxDecoration(
                border: Border.all(color: Colors.black)
              ),
              child: new GestureDetector(
                onTap: () => callback(AlertButton.positive),
                child: new Text(
                  positiveActionText,
                  textAlign: TextAlign.center,
                ),
              ),
            ),
          ),
          Expanded(
            child: Container(
              decoration: BoxDecoration(
                border: Border.all(color: Colors.black)
              ),
              child: new GestureDetector(
                onTap: () => callback(AlertButton.negative),
                child: new Text(
                  negativeActionText,
                  textAlign: TextAlign.center,
                ),
              ),
            ),
          ),
        ],
      ),
    ],
  ),
);

以下是图像: Expected design Image

3 个答案:

答案 0 :(得分:2)

您可以使用CupertinoAlertDialog,默认情况下包含以下行:

Cupertino alert dialog

在您的情况下:

  public void updateList(List<ModelClass> list){
    modelList= list;
    notifyDataSetChanged();
}

答案 1 :(得分:0)

您可以使用Divider小部件

Divider(
  color: Colors.black87,
  height: 10.0,
  indent: 5.0,// Starting Space
  endIndent: 5.0 // Ending Space
)

答案 2 :(得分:0)

var alert = new CupertinoAlertDialog(
  title: new Text("Alert"),
  content: new Text("Test Sample 123."),
  actions: <Widget>[
    new CupertinoDialogAction(
      child: const Text('Discard'),
      isDestructiveAction: true,
      onPressed: (){}
    ),
    new CupertinoDialogAction(
        child: const Text('Cancel'),
        isDefaultAction: true,
        onPressed: () {}
    ),
  ],
);

showDialog(context: context, child: alert);