真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框

這篇文章給大家分享的是AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框的方法,相信大部分人都還沒學(xué)會(huì)這個(gè)技能,為了讓大家學(xué)會(huì),給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

龍山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),龍山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為龍山成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的龍山做網(wǎng)站的公司定做!

Flutter版本及Dart版本如下:

1.12.13+hotfix.5Dart版本: 2.7.0

當(dāng)應(yīng)用程序進(jìn)行重要操作時(shí)經(jīng)常需要用戶進(jìn)行2次確認(rèn),以避免用戶的誤操作,比如刪除文件時(shí),一般會(huì)彈出提示“是否要?jiǎng)h除當(dāng)前文件”,用戶點(diǎn)擊確認(rèn)后才會(huì)進(jìn)行刪除操作,這時(shí)我們可以使用提示框(AlertDialog或者CupertinoAlertDialog)。

根據(jù)設(shè)計(jì)的不同,我們可以選擇Material風(fēng)格的AlertDialog或者Cupertino(ios)風(fēng)格的CupertinoAlertDialog,

Material風(fēng)格基礎(chǔ)用法如下:

RaisedButton(
  child: Text('切換'),
  onPressed: () {
    showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            title: Text('提示'),
            content: Text('確認(rèn)刪除嗎?'),
            actions: [
              FlatButton(child: Text('取消'),onPressed: (){},),
              FlatButton(child: Text('確認(rèn)'),onPressed: (){},),
            ],
          );
        });
  },
)

Material風(fēng)格效果:

AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框

Cupertino(ios)風(fēng)格基礎(chǔ)用法如下:

RaisedButton(
  child: Text('切換'),
  onPressed: () {
    showCupertinoDialog(
        context: context,
        builder: (context) {
          return CupertinoAlertDialog(
            title: Text('提示'),
            content: Text('確認(rèn)刪除嗎?'),
            actions: [
              CupertinoDialogAction(child: Text('取消'),onPressed: (){},),
              CupertinoDialogAction(child: Text('確認(rèn)'),onPressed: (){},),
            ],
          );
        });
  },
)

Cupertino(ios)風(fēng)格效果如下:

AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框

showDialogAlertDialog配合使用展示Material風(fēng)格對話框,showCupertinoDialogCupertinoAlertDialog配合使用展示iOS風(fēng)格對話框,showCupertinoDialog點(diǎn)擊空白處是無法退出對話框的,而showDialog點(diǎn)擊空白處默認(rèn)退出對話框,barrierDismissible屬性控制點(diǎn)擊空白處的行為,用法如下:

showDialog(
    barrierDismissible: false,
    )

AlertDialog的屬性相對比較豐富,可以設(shè)置title樣式、content樣式、背景顏色、陰影值,設(shè)置是形狀:

AlertDialog(
  title: Text('提示'),
  content: Text('確認(rèn)刪除嗎?'),
  backgroundColor: Colors.lightBlueAccent,
  elevation: 24,
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50)),
  actions: [
    FlatButton(child: Text('取消'),onPressed: (){},),
    FlatButton(child: Text('確認(rèn)'),onPressed: (){},),
  ],
)

AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框

用戶點(diǎn)擊“取消”或者“確定”按鈕后退出對話框,App需要知道知道用戶選擇了哪個(gè)選項(xiàng),用法如下:

RaisedButton(
  child: Text('切換'),
  onPressed: () async {
    var result = await showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            title: Text('提示'),
            content: Text('確認(rèn)刪除嗎?'),
            actions: [
              FlatButton(
                child: Text('取消'),
                onPressed: () {
                  Navigator.of(context).pop('cancel');
                },
              ),
              FlatButton(
                child: Text('確認(rèn)'),
                onPressed: () {
                  Navigator.of(context).pop('ok');
                },
              ),
            ],
          );
        });
    print('$result');
  },
)

如果你覺得系統(tǒng)提供的這2個(gè)風(fēng)格的對話框不夠個(gè)性,你可以試試SimpleDialog,用法和AlertDialog基本相同,如下:

SimpleDialog(
  title: Text('提示'),
  children: [
    Container(
      height: 80,
      alignment: Alignment.center,

      child: Text('確認(rèn)刪除嗎?'),
    ),
    Divider(height: 1,),
    FlatButton(
      child: Text('取消'),
      onPressed: () {
        Navigator.of(context).pop('cancel');
      },
    ),
    Divider(height: 1,),
    FlatButton(
      child: Text('確認(rèn)'),
      onPressed: () {
        Navigator.of(context).pop('ok');
      },
    ),
  ],
)

效果如下:

AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框

如果你覺得這還是不夠個(gè)性,那可以祭出終極大法了,直接使用Dialog,Dialog可以定制任何對話框,只需將對話框的內(nèi)容給child屬性:

Dialog(
  child: MyDialog(),
);

當(dāng)然一般情況下,系統(tǒng)提供的對話框就夠用了,這幾個(gè)對話框組件用法基本一樣,不同的地方僅僅是靈活性和使用簡易程度的不要,Dialog最靈活,但使用起來比AlertDialog復(fù)雜一些,AlertDialog使用起來非常簡單,但布局和基本樣式都已經(jīng)固定好,不如Dialog靈活。

以上就是AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框的方法,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:AlertDialog實(shí)現(xiàn)不同風(fēng)格的2次確認(rèn)提示框
網(wǎng)站地址:http://weahome.cn/article/psjigh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部