Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Androidproject | 5,116 | a year ago | 1 | apache-2.0 | Java | |||||
Android 技术中台,但愿人长久,搬砖不再有 | ||||||||||
Fvm | 3,876 | 14 hours ago | 22 | mit | Dart | |||||
Flutter Version Management: A simple CLI to manage Flutter SDK versions. | ||||||||||
Fun_android_flutter | 2,515 | 2 years ago | 9 | Dart | ||||||
👿👿👿👿👿玩Android客户端Flutter版本。Provider的最佳实践.DarkMode、多色彩主题、国际化、切换字体、优美动画 | ||||||||||
Flutter Intellij | 1,894 | 7 days ago | 557 | bsd-3-clause | Java | |||||
Flutter Plugin for IntelliJ | ||||||||||
Alan Sdk Flutter | 1,742 | 2 months ago | 4 | Ruby | ||||||
Conversational AI SDK for Flutter to build AI-powered voice assistants for Flutter applications (iOS and Android) | ||||||||||
At_client_sdk | 1,507 | 6 days ago | 103 | bsd-3-clause | Dart | |||||
The Dart implementation of atClient SDK used for implementing Atsign's technology into other software | ||||||||||
App Space | 983 | 2 months ago | 2 | apache-2.0 | C | |||||
应用内网发布分发测试部署管理平台版本管理类似蒲公英蒲公英 类似fir.im fir App publish IOS超级签名免签 开源| https://app-space.up.railway.app |APP增量热更新| 支持iOS、Android、flutter、 react-native更新摇一摇提Bug SDK 提供自动化部署jenkins fastlane 丰富组件库 安卓苹果发布发版publish 管理发发布适用于企业手机应用内测服务应用内测托管的平台开源 | ||||||||||
Awesome Appwrite | 827 | 17 days ago | 2 | |||||||
Carefully curated list of awesome Appwrite resources 💪 | ||||||||||
Stream Chat Flutter | 783 | 1 | 5 hours ago | 48 | July 07, 2022 | 15 | other | Dart | ||
Flutter Chat SDK - Build your own chat app experience using Dart, Flutter and the Stream Chat Messaging API. | ||||||||||
Flutter_thrio | 716 | 3 years ago | 78 | May 18, 2021 | 8 | mit | Objective-C | |||
flutter_thrio makes it easy and fast to add flutter to existing mobile applications, and provide a simple and consistent navigator APIs. |
The Navigator
for iOS, Android, Flutter.
Version 0.2.2
requires Flutter >= 1.12.0
and Dart >= 2.6.0
.
push
,pop
,popTo
,remove
native pages or flutter pages from anywherepush
page is popped
You should ensure that you add thrio
as a dependency in your flutter project.
dependencies:
thrio: '^0.5.0'
You can also reference the git repo directly if you want:
dependencies:
thrio:
git: [email protected]:hellobike/thrio.git
You should then run flutter pub upgrade
or update your packages in IntelliJ.
There is a pretty sweet example project in the example
folder. Check it out. Otherwise, keep reading to get up and running.
push
a page in dartThrioNavigator.push(url: 'flutter1');
ThrioNavigator.push(url: '/biz1/native1', params: { '1': {'2': '3'}});
ThrioNavigator.push(url: '/biz1/native1', animated:true);
ThrioNavigator.push(
url: '/biz2/flutter2',
params: {'1': {'2': '3'}},
poppedResult: (params) => ThrioLogger.v('/biz2/flutter2 popped: $params'),
);
push
a page in iOS[ThrioNavigator pushUrl:@"flutter1"];
[ThrioNavigator pushUrl:@"/biz2/flutter2" poppedResult:^(id _Nonnull params) {
ThrioLogV(@"/biz2/flutter2 popped: %@", params);
}];
push
a page in AndroidThrioNavigator.push(this, "/biz1/flutter1",
mapOf("k1" to 1),
false,
poppedResult = {
Log.e("Thrio", "/biz1/native1 popResult call params $it")
}
)
pop
a page in dartThrioNavigator.pop();
// Pop the page without animation
ThrioNavigator.pop(animated: false);
// Pop the page and return parameters
ThrioNavigator.pop(params: 'popped flutter1'),
pop
a page in iOS[ThrioNavigator pop];
// Pop a page without animation
[ThrioNavigator popAnimated:NO];
// Pop the page and return parameters
[ThrioNavigator popParams:@{@"k1": @3}];
pop
a page in AndroidThrioNavigator.pop(this, params, animated)
popTo
a page in dart
ThrioNavigator.popTo(url: 'flutter1');
ThrioNavigator.popTo(url: 'flutter1', animated: false);
popTo
a page in iOS[ThrioNavigator popToUrl:@"flutter1"];
[ThrioNavigator popToUrl:@"flutter1" animated:NO];
popTo
a page in AndroidThrioNavigator.popTo(context, url, index)
remove
a page in dartThrioNavigator.remove(url: 'flutter1');
ThrioNavigator.remove(url: 'flutter1', animated: true);
remove
a page in iOS[ThrioNavigator removeUrl:@"flutter1"];
[ThrioNavigator removeUrl:@"flutter1" animated:NO];
remove
a page in AndroidThrioNavigator.remove(context, url, index)
notify
a page in dartThrioNavigator.notify(url: 'flutter1', name: 'reload');
notify
a page in iOS[ThrioNavigator notifyUrl:@"flutter1" name:@"reload"];
notify
a page in AndroidThrioNavigator.notify(url, index, params)
NavigatorPageNotify(
name: 'page1Notify',
onPageNotify: (params) =>
ThrioLogger.v('flutter1 receive notify: $params'),
child: Xxxx());
UIViewController
implements the NavigatorPageNotifyProtocol
and receives page notifications via onNotify
- (void)onNotify:(NSString *)name params:(id)params {
ThrioLogV(@"/biz1/native1 onNotify: %@, %@", name, params);
}
Activity
implements the OnNotifyListener
and receives page notifications via onNotify
class Activity : AppCompatActivity(), OnNotifyListener {
override fun onNotify(name: String, params: Any?) {
}
}