Flutter中的Android Toast消息
Flutter 应用程序,用于显示 Android 的 Toast 消息。

显示Flutter中Toast消息的方法和代码。
要在Flutter中显示Toast消息,我通过Platform Channels从Flutter与原生代码进行通信,并在原生代码中显示Toast消息。
平台通道
Flutter提供的用于在原生代码和Flutter代码之间通信的。
在Flutter中定义通道
static const platform = const MethodChannel('flutter.toast.message.channel');
在Android中定义通道/处理程序
MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->
}
如上定义平台通道并提供通道名称,
此通道名称在Flutter代码和Android原生代码之间必须相同。
在Flutter中创建类
为了与Android通信,以便显示Toast消息。
class Toast {
Toast(String message) {
_showToast(message);
}
static const platform = const MethodChannel('flutter.toast.message.channel');
Future<Null> _showToast(String message) async {
// invoke method, provide method name and arguments.
await platform.invokeMethod('toast', {'message': message});
}
}
在Android中处理来自Flutter的方法调用
class MainActivity : FlutterActivity() {
companion object {
const val CHANNEL = "flutter.toast.message.channel"
const val METHOD_TOAST = "toast"
const val KEY_MESSAGE = "message"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
// handle method invocation from flutter, and perform action
MethodChannel(flutterView, CHANNEL).setMethodCallHandler { call, result ->
if (call.method == METHOD_TOAST) {
val message = call.argument<String>(KEY_MESSAGE)
Toast.makeText(this@MainActivity, message, Toast.LENGTH_SHORT).show()
}
}
}
}
这就是在Flutter中显示Android Toast消息所需的一切。
用法
要从Flutter显示Toast消息,只需调用Toast类并将您的消息作为参数传递,如下所示
Toast("Hello, I'm Toast from Flutter.");