首页 > 解决方案 > 向 FlutterToast 添加前导图标

问题描述

我是 Flutter 的新手,FlutterToast我的 Flutter 应用程序中有一个在按下按钮时调用的应用程序。我的问题是

如果可以在 FlutterToast 内部添加一个前导图标

吐司吐司:

Fluttertoast.showToast(
   msg: "Press and hold to send Alert!",
   toastLength: Toast.LENGTH_LONG,
   gravity: ToastGravity.CENTER,
   timeInSecForIosWeb: 1,
   backgroundColor: Colors.white,
   textColor: Colors.black87,
   fontSize: 16.0
  );

标签: flutter

解决方案


您可以使用您正在使用的同一包中的 FToast。而不是一些文本,它需要一个子小部件,我认为它更灵活。

这是一个快速实现,可以满足您的要求:

import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';

main() {
  runApp(MaterialApp(
    home: MyApp(),
  ));
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  FToast fToast;

  @override
  void initState() {
    super.initState();
    fToast = FToast();
    fToast.init(context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          fToast.showToast(
            toastDuration: Duration(milliseconds: 500),
            child: Material(
              color: Colors.white,
              child: Row(
                mainAxisSize: MainAxisSize.min,
                children: [
                  Icon(Icons.face),
                  Text(
                    "Press and hold to send Alert!",
                    style: TextStyle(color: Colors.black87, fontSize: 16.0),
                  )
                ],
              ),
            ),
            gravity: ToastGravity.CENTER,
          );
        },
      ),
      body: Center(
        child: Text('Text'),
      ),
    );
  }
}

推荐阅读