Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add example of responsive ui #1

Merged
merged 1 commit into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added example/assets/responsive.riv
Binary file not shown.
13 changes: 10 additions & 3 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
import 'package:device_preview/device_preview.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:rive_counter/intro/intro_view.dart';
// import 'package:rive_counter/intro/intro_view.dart';
import 'package:rive_counter/responsive/responsive_view.dart';

void main() {
runApp(const MainApp());
runApp(DevicePreview(
enabled: !kReleaseMode,
builder: (context) => const MainApp()
));
}

class MainApp extends StatelessWidget {
Expand All @@ -11,7 +17,8 @@ class MainApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: IntroView(),
// home: IntroView(),
home: ResponsiveView(),
);
}
}
41 changes: 41 additions & 0 deletions example/lib/responsive/responsive_view.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import 'package:flutter/material.dart';
import 'package:responsive_builder/responsive_builder.dart';
import 'package:rive/rive.dart';
import 'package:stacked/stacked.dart';

import 'responsive_viewmodel.dart';

class ResponsiveView extends StackedView<ResponsiveViewModel> {
const ResponsiveView({super.key});

@override
Widget builder(
BuildContext context,
ResponsiveViewModel viewModel,
Widget? child,
) {
return Scaffold(
body: ResponsiveBuilder(
builder: (context, sizingInformation) {
final artboard = switch (sizingInformation.deviceScreenType) {
DeviceScreenType.desktop => 'Desktop',
DeviceScreenType.tablet => 'Tablet',
_ => 'Mobile'
};

return RiveAnimation.asset(
'assets/responsive.riv',
artboard: artboard,
fit: BoxFit.fill,
);
},
),
);
}

@override
ResponsiveViewModel viewModelBuilder(
BuildContext context,
) =>
ResponsiveViewModel();
}
3 changes: 3 additions & 0 deletions example/lib/responsive/responsive_viewmodel.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import 'package:stacked/stacked.dart';

class ResponsiveViewModel extends BaseViewModel {}
2 changes: 2 additions & 0 deletions example/macos/Flutter/GeneratedPluginRegistrant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ import FlutterMacOS
import Foundation

import rive_common
import shared_preferences_foundation

func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
}
167 changes: 166 additions & 1 deletion example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.18.0"
device_frame:
dependency: transitive
description:
name: device_frame
sha256: afe76182aec178d171953d9b4a50a43c57c7cf3c77d8b09a48bf30c8fa04dd9d
url: "https://pub.dev"
source: hosted
version: "1.1.0"
device_preview:
dependency: "direct main"
description:
name: device_preview
sha256: "2f097bf31b929e15e6756dbe0ec1bcb63952ab9ed51c25dc5a2c722d2b21fdaf"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
fake_async:
dependency: transitive
description:
Expand All @@ -57,6 +73,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
file:
dependency: transitive
description:
name: file
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
url: "https://pub.dev"
source: hosted
version: "7.0.0"
flutter:
dependency: "direct main"
description: flutter
Expand All @@ -70,6 +94,11 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.1"
flutter_localizations:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
Expand All @@ -80,6 +109,14 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
freezed_annotation:
dependency: transitive
description:
name: freezed_annotation
sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
url: "https://pub.dev"
source: hosted
version: "2.4.1"
get_it:
dependency: transitive
description:
Expand Down Expand Up @@ -112,6 +149,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.0.2"
intl:
dependency: transitive
description:
name: intl
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.dev"
source: hosted
version: "0.18.1"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
url: "https://pub.dev"
source: hosted
version: "4.8.1"
leak_tracker:
dependency: transitive
description:
Expand Down Expand Up @@ -184,6 +237,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.9.0"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
url: "https://pub.dev"
source: hosted
version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
platform:
dependency: transitive
description:
name: platform
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
url: "https://pub.dev"
source: hosted
version: "3.1.4"
plugin_platform_interface:
dependency: transitive
description:
Expand All @@ -200,6 +285,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.1.2"
responsive_builder:
dependency: "direct main"
description:
name: responsive_builder
sha256: a38ba9ba86c9daf08904674553034b651377b1d685d10ee450d8350ae51f76ec
url: "https://pub.dev"
source: hosted
version: "0.7.0"
rive:
dependency: "direct main"
description:
Expand All @@ -216,6 +309,62 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.3.3"
shared_preferences:
dependency: transitive
description:
name: shared_preferences
sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
url: "https://pub.dev"
source: hosted
version: "2.2.2"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
url: "https://pub.dev"
source: hosted
version: "2.3.5"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
url: "https://pub.dev"
source: hosted
version: "2.3.2"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
url: "https://pub.dev"
source: hosted
version: "2.3.2"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a"
url: "https://pub.dev"
source: hosted
version: "2.3.0"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
url: "https://pub.dev"
source: hosted
version: "2.3.2"
sky_engine:
dependency: transitive
description: flutter
Expand Down Expand Up @@ -325,6 +474,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.5.1"
win32:
dependency: transitive
description:
name: win32
sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480"
url: "https://pub.dev"
source: hosted
version: "5.3.0"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
url: "https://pub.dev"
source: hosted
version: "1.0.4"
sdks:
dart: ">=3.3.1 <4.0.0"
flutter: ">=2.5.0"
flutter: ">=3.19.0"
12 changes: 7 additions & 5 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
name: rive_counter
description: "A new Flutter project."
publish_to: 'none'
publish_to: "none"
version: 0.1.0

environment:
sdk: '>=3.3.1 <4.0.0'
sdk: ">=3.3.1 <4.0.0"

dependencies:
device_preview: ^1.1.0
flutter:
sdk: flutter

responsive_builder: ^0.7.0
rive: ^0.13.1
stacked: ^3.4.2

dev_dependencies:
flutter_lints: ^3.0.0
flutter_test:
sdk: flutter
flutter_lints: ^3.0.0

flutter:
uses-material-design: true

assets:
- assets/counter.riv
- assets/counter.riv
- assets/responsive.riv