【发布时间】:2021-07-12 12:11:02
【问题描述】:
我一直在使用这个包slide_popup_dialog,但是这个包还没有更新到 Flutter 2 和 null 安全。 有什么办法可以让我仍然可以在 Flutter 2 中使用这个包,还是有其他包也可以做到这一点?
【问题讨论】:
-
使用 dart 工具将包转换为空安全
标签: flutter flutter-layout flutter-dependencies
我一直在使用这个包slide_popup_dialog,但是这个包还没有更新到 Flutter 2 和 null 安全。 有什么办法可以让我仍然可以在 Flutter 2 中使用这个包,还是有其他包也可以做到这一点?
【问题讨论】:
标签: flutter flutter-layout flutter-dependencies
如果您看到非空安全包,请打开Github 页面并转到Forks,您会发现一些人已更新。 Using package from Github
示例:
将以下代码添加到您的pubspec.yaml
dependencies:
slide_popup_dialog:
git:
url: git://github.com/kw2019ltd/slide_popup_dialog.git
ref: main
这个 github 分支是 slide_popup_dialog 更新为空安全。
【讨论】:
You don't need packages to do so:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'App',
home: HomeScreen(),
);
}
}
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 0,
),
body: ElevatedButton(
onPressed: () => showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
context: context,
builder: (_) => Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Container(
alignment: Alignment.center,
color: Colors.white,
width: double.infinity,
height: 200.0,
child: Text('PopUp'),
),
],
),
),
child: Text('Show PopUp'),
),
);
}
}
【讨论】: