Packages會被發(fā)布到了 Pub 包倉庫.
Flutter landing 頁面 顯示了與Flutter兼容的包(即聲明依賴通常與撲兼容)。所有已發(fā)布的包都支持搜索。
要將包’css_colors’添加到應用中,請執(zhí)行以下操作
有關完整示例,請參閱下面的CSS Colors example below.
如果某個軟件包不適用于您的特定需求,則可以開發(fā)新的自定義package。
所有軟件包都有一個版本號,在他們的pubspec.yaml文件中指定。Pub會在其名稱旁邊顯示軟件包的當前版本(例如,請參閱url_launcher軟件包)以及所有先前版本的列表。
當pubspec.yaml使用速記形式添加包時,plugin1: 這被解釋為plugin1: any,即可以使用任何版本的包。為了確保某個包在更新后還可以正常使用,我們建議使用以下格式之一指定版本范圍:
有關更多詳細信息,請參閱 Pub 版本管理指南.
當你在添加一個包后首次運行(IntelliJ中的’Packages Get’)flutter packages get,F(xiàn)lutter將找到包的版本保存在pubspec.lock。這確保了如果您或您的團隊中的其他開發(fā)人員運行flutter packages get后回獲取相同版本的包。
如果要升級到軟件包的新版本,例如使用該軟件包中的新功能,請運行flutter packages upgrade(在IntelliJ中點擊Upgrade dependencies)。 這將根據(jù)您在pubspec.yaml中指定的版本約束下載所允許的最高可用版本。
即使未在Pub上發(fā)布,軟件包也可以使用。對于不用于公開發(fā)布的專用插件,或者尚未準備好發(fā)布的軟件包,可以使用其他依賴項選項:
最后,您可以使用ref參數(shù)將依賴關系固定到特定的git commit,branch或tag。有關更多詳細信息,請參閱 Pub Dependencies article.
該css_colors包為CSS顏色定義顏色常量,允許您在Flutter中需要Color類型的任何位置使用它們
要使用這個包:
dependencies:
flutter:
sdk: flutter
替換為:dependencies:
flutter:
sdk: flutter
css_colors: ^1.0.0
import 'package:flutter/material.dart';
import 'package:css_colors/css_colors.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new DemoPage(),
);
}
}
class DemoPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Container(color: CSSColors.orange)
);
}
}
URL Launcher可以使您打開移動平臺上的默認瀏覽器顯示給定的URL。 它演示了軟件包如何包含特定于平臺的代碼(我們稱這些軟件包為插件)。它在Android和iOS上均受支持。
使用這個插件:
dependencies:
flutter:
sdk: flutter
替換為:dependencies:
flutter:
sdk: flutter
url_launcher: ^0.4.1
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new DemoPage(),
);
}
}
class DemoPage extends StatelessWidget {
launchURL() {
launch('https://flutter.io');
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: new RaisedButton(
onPressed: launchURL,
child: new Text('Show Flutter homepage'),
),
),
);
}
}
更多建議: