hellobike / Flutter_thrio
Licence: mit
flutter_thrio makes it easy and fast to add flutter to existing mobile applications, and provide a simple and consistent navigator APIs.
Stars: ✭ 717
Projects that are alternatives of or similar to Flutter thrio
Flutterexampleapps
[Example APPS] Basic Flutter apps, for flutter devs.
Stars: ✭ 15,950 (+2124.55%)
Mutual labels: flutter-apps, cross-platform, flutter-plugin
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+5281.03%)
Mutual labels: flutter-apps, cross-platform, flutter-plugin
Flutter Examples
An ultimate cheatbook of curated designs
Stars: ✭ 675 (-5.86%)
Mutual labels: flutter-apps, flutter-plugin
Qrcode scanner
🛠 Flutter QR code scanner plugin.
Stars: ✭ 274 (-61.79%)
Mutual labels: flutter-apps, flutter-plugin
Sower
Sower is a cross-platform intelligent transparent proxy solution.
Stars: ✭ 391 (-45.47%)
Mutual labels: router, cross-platform
http middleware
A middleware library for Dart's http library.
Stars: ✭ 38 (-94.7%)
Mutual labels: flutter-plugin, flutter-apps
Flutter i18n
This plugin create a binding between your translations from .arb files and your Flutter app.
Stars: ✭ 255 (-64.44%)
Mutual labels: flutter-apps, flutter-plugin
Flutter page transition
This is Flutter Page Transition Package
Stars: ✭ 314 (-56.21%)
Mutual labels: flutter-apps, flutter-plugin
GitHubSearch
GitHub iOS client with minimum third-party dependencies.
Stars: ✭ 34 (-95.26%)
Mutual labels: router, navigator
React Router Navigation
⛵️ A complete navigation library for React Native, React DOM and React Router
Stars: ✭ 498 (-30.54%)
Mutual labels: router, navigator
Flutter Development Roadmap
Flutter App Developer Roadmap - A complete roadmap to learn Flutter App Development. I tried to learn flutter using this roadmap. If you want to add something please contribute to the project. Happy Learning
Stars: ✭ 474 (-33.89%)
Mutual labels: cross-platform, flutter-plugin
Liquid swipe flutter
A flutter based liquid swipe
Stars: ✭ 680 (-5.16%)
Mutual labels: flutter-apps, flutter-plugin
Bottom navy bar
A beautiful and animated bottom navigation
Stars: ✭ 653 (-8.93%)
Mutual labels: flutter-apps, flutter-plugin
A-Complete-Guide-To-Flutter
This repo contains all the small snippets related to Flutter Apps. Most of the projects/apps are deployed on Flutter Web using GitHub Actions CI Pipeline.
Stars: ✭ 70 (-90.24%)
Mutual labels: flutter-plugin, flutter-apps
Hybrid Navigation
React Native Navigation that supports seamless navigation between Native and React.
Stars: ✭ 258 (-64.02%)
Mutual labels: router, navigator
Flutter-Apps
🌀 This is mainly focus on a complete application for production
Stars: ✭ 18 (-97.49%)
Mutual labels: flutter-plugin, flutter-apps
Google nav bar
A modern google style nav bar for flutter.
Stars: ✭ 290 (-59.55%)
Mutual labels: flutter-apps, flutter-plugin
Fluttercreatesubmissions2019
An Effort to gather all Flutter Create App submissions at one place from various resources.
Stars: ✭ 546 (-23.85%)
Mutual labels: flutter-apps, cross-platform
nepali date picker
Material Style Date Picker with Bikram Sambat(Nepali) Calendar Support. Supports both Android and ios.
Stars: ✭ 30 (-95.82%)
Mutual labels: flutter-plugin, flutter-apps
flutter-tunein
Dynamically themed Music Player built with flutter
Stars: ✭ 108 (-84.94%)
Mutual labels: flutter-plugin, flutter-apps
本仓库不再维护,可移步新仓库 https://github.com/flutter-thrio/flutter_thrio
The Navigator
for iOS, Android, Flutter.
Version 0.2.2
requires Flutter >= 1.12.0
and Dart >= 2.6.0
.
Features
-
push
,pop
,popTo
,remove
native pages or flutter pages from anywhere - Get the callback parameters when the
push
page ispopped
- Send and receive page notifications
- Register observers for the life cycle of pages
- Register observers for the route actions of pages
- Hide native navigation bar for flutter pages
- Supports custom transition animation on the Flutter side
Getting started
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.
Example Project
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 dart
ThrioNavigator.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 Android
ThrioNavigator.push(this, "/biz1/flutter1",
mapOf("k1" to 1),
false,
poppedResult = {
Log.e("Thrio", "/biz1/native1 popResult call params $it")
}
)
pop
a page in dart
ThrioNavigator.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 Android
ThrioNavigator.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 Android
ThrioNavigator.popTo(context, url, index)
remove
a page in dart
ThrioNavigator.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 Android
ThrioNavigator.remove(context, url, index)
notify
a page in dart
ThrioNavigator.notify(url: 'flutter1', name: 'reload');
notify
a page in iOS
[ThrioNavigator notifyUrl:@"flutter1" name:@"reload"];
notify
a page in Android
ThrioNavigator.notify(url, index, params)
receive page notifications in dart
NavigatorPageNotify(
name: 'page1Notify',
onPageNotify: (params) =>
ThrioLogger.v('flutter1 receive notify: $params'),
child: Xxxx());
receive page notifications in iOS
UIViewController
implements the NavigatorPageNotifyProtocol
and receives page notifications via onNotify
- (void)onNotify:(NSString *)name params:(id)params {
ThrioLogV(@"/biz1/native1 onNotify: %@, %@", name, params);
}
receive page notifications in Android
Activity
implements the OnNotifyListener
and receives page notifications via onNotify
class Activity : AppCompatActivity(), OnNotifyListener {
override fun onNotify(name: String, params: Any?) {
}
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].