├── .all-contributorsrc
├── .fvmrc
├── .github
└── workflows
│ ├── dart.yml
│ └── publisher.yml
├── .gitignore
├── .metadata
├── .vscode
├── launch.json
└── settings.json
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── drawerbehavior.iml
├── example
├── .gitignore
├── .metadata
├── README.md
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── dev
│ │ │ │ │ └── shiburagi
│ │ │ │ │ └── drawerbehavior_example
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── assets
│ └── user1.jpg
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ └── LaunchImage.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage.png
│ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ └── README.md
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
│ └── RunnerTests
│ │ └── RunnerTests.swift
├── lib
│ ├── main.dart
│ ├── menus
│ │ └── main.dart
│ └── pages
│ │ ├── drawer_3d.dart
│ │ ├── drawer_custom_item.dart
│ │ ├── drawer_custom_item_by_count.dart
│ │ ├── drawer_scale.dart
│ │ ├── drawer_scale_gradient.dart
│ │ ├── drawer_scale_icon.dart
│ │ ├── drawer_scale_left_3d_right_slide_.dart
│ │ ├── drawer_scale_left_right.dart
│ │ ├── drawer_scale_left_right_inverse.dart
│ │ ├── drawer_scale_no_animation.dart
│ │ ├── drawer_scale_peek_left.dart
│ │ ├── drawer_scale_peek_right.dart
│ │ ├── drawer_scale_right.dart
│ │ ├── drawer_slide.dart
│ │ ├── drawer_slide_custom_appbar.dart
│ │ ├── drawer_slide_menu_slide.dart
│ │ ├── drawer_slide_with_footer.dart
│ │ ├── drawer_slide_with_header.dart
│ │ └── drawer_with_child.dart
├── linux
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ ├── main.cc
│ ├── my_application.cc
│ └── my_application.h
├── macos
│ ├── .gitignore
│ ├── Flutter
│ │ ├── Flutter-Debug.xcconfig
│ │ ├── Flutter-Release.xcconfig
│ │ └── GeneratedPluginRegistrant.swift
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── app_icon_1024.png
│ │ │ │ ├── app_icon_128.png
│ │ │ │ ├── app_icon_16.png
│ │ │ │ ├── app_icon_256.png
│ │ │ │ ├── app_icon_32.png
│ │ │ │ ├── app_icon_512.png
│ │ │ │ └── app_icon_64.png
│ │ ├── Base.lproj
│ │ │ └── MainMenu.xib
│ │ ├── Configs
│ │ │ ├── AppInfo.xcconfig
│ │ │ ├── Debug.xcconfig
│ │ │ ├── Release.xcconfig
│ │ │ └── Warnings.xcconfig
│ │ ├── DebugProfile.entitlements
│ │ ├── Info.plist
│ │ ├── MainFlutterWindow.swift
│ │ └── Release.entitlements
│ └── RunnerTests
│ │ └── RunnerTests.swift
├── pubspec.yaml
├── test
│ └── widget_test.dart
├── web
│ ├── CNAME
│ ├── favicon.png
│ ├── icons
│ │ ├── Icon-192.png
│ │ ├── Icon-512.png
│ │ ├── Icon-maskable-192.png
│ │ └── Icon-maskable-512.png
│ ├── index.html
│ └── manifest.json
└── windows
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
│ └── runner
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── resources
│ └── app_icon.ico
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── lib
├── drawerbehavior.dart
└── src
│ ├── builder.dart
│ ├── drawer_scaffold.dart
│ ├── menu_item.dart
│ ├── menu_list.dart
│ ├── side_drawer.dart
│ └── utils.dart
├── pubspec.yaml
├── settings.json
└── test
└── drawerbehavior_test.dart
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "files": [
3 | "README.md"
4 | ],
5 | "imageSize": 100,
6 | "commit": false,
7 | "commitType": "docs",
8 | "commitConvention": "angular",
9 | "contributors": [
10 | {
11 | "login": "trademunch",
12 | "name": "trademunch",
13 | "avatar_url": "https://avatars.githubusercontent.com/u/45367267?v=4",
14 | "profile": "https://github.com/trademunch",
15 | "contributions": [
16 | "code"
17 | ]
18 | },
19 | {
20 | "login": "anjarnaufals",
21 | "name": "anjarnaufals",
22 | "avatar_url": "https://avatars.githubusercontent.com/u/50995060?v=4",
23 | "profile": "https://github.com/anjarnaufals",
24 | "contributions": [
25 | "code"
26 | ]
27 | },
28 | {
29 | "login": "vladaman",
30 | "name": "Vladimir Vlach",
31 | "avatar_url": "https://avatars.githubusercontent.com/u/907206?v=4",
32 | "profile": "https://github.com/vladaman",
33 | "contributions": [
34 | "code"
35 | ]
36 | },
37 | {
38 | "login": "tenhaus",
39 | "name": "Chris Hayen",
40 | "avatar_url": "https://avatars.githubusercontent.com/u/1205495?v=4",
41 | "profile": "https://github.com/tenhaus",
42 | "contributions": [
43 | "code"
44 | ]
45 | }
46 | ],
47 | "contributorsPerLine": 7,
48 | "skipCi": true,
49 | "repoType": "github",
50 | "repoHost": "https://github.com",
51 | "projectName": "Drawer-Behavior-Flutter",
52 | "projectOwner": "shiburagi"
53 | }
54 |
--------------------------------------------------------------------------------
/.fvmrc:
--------------------------------------------------------------------------------
1 | {
2 | "flutter": "3.27.4"
3 | }
--------------------------------------------------------------------------------
/.github/workflows/dart.yml:
--------------------------------------------------------------------------------
1 | name: Dart CI
2 |
3 | on:
4 | push:
5 | branches: [ master, Version-2.0.0 ]
6 | pull_request:
7 | branches: [ master, Version-2.0.0 ]
8 |
9 | jobs:
10 | test:
11 | name: Test on ${{ matrix.os }}
12 | runs-on: ${{ matrix.os }}
13 | strategy:
14 | matrix:
15 | os: [ubuntu-latest]
16 | steps:
17 | - uses: actions/checkout@v1
18 | - uses: actions/setup-java@v1
19 | with:
20 | java-version: '12.x'
21 | - uses: subosito/flutter-action@v1
22 | with:
23 | # flutter-version: '1.11.0'
24 | channel: 'beta'
25 | - run: dart --version
26 | - run: flutter --version
27 | - run: flutter pub get
28 | # - run: flutter test
29 | - run: |
30 | cd example
31 | flutter build apk
32 |
--------------------------------------------------------------------------------
/.github/workflows/publisher.yml:
--------------------------------------------------------------------------------
1 | # This workflow uses actions that are not certified by GitHub.
2 | # They are provided by a third-party and are governed by
3 | # separate terms of service, privacy policy, and support
4 | # documentation.
5 |
6 | name: Dart
7 |
8 | on:
9 | push:
10 | branches: [ "Version-*" ]
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - uses: actions/checkout@v4
18 | - name: Install Flutter
19 | uses: subosito/flutter-action@v2
20 | with:
21 | channel: stable # or: beta, master (or main)
22 | flutter-version: 3.27.4
23 | - name: Install dependencies
24 | run: flutter pub get
25 | # - name: Dart and Flutter Package Publisher
26 | # uses: k-paxian/dart-package-publisher@v1.6
27 | # with:
28 | # flutterBranch: stable
29 | # credentialJson: ${{ secrets.CREDENTIAL_JSON }}
30 | - name: Publish Dart/Flutter package
31 | # You may pin to the exact commit or the version.
32 | # uses: sakebook/actions-flutter-pub-publisher@ccd9fbba502ea7ef33ea2479e0cdac5a2a9766e1
33 | uses: afonsocraposo/actions-flutter-pub-publisher@v1.1.0
34 | with:
35 | credential: ${{ secrets.CREDENTIAL_JSON }}
36 | skip_test: true
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .dart_tool/
3 |
4 | .packages
5 | .pub/
6 | pubspec.lock
7 |
8 | build/
9 |
10 | \.idea/
11 |
12 | example/ios/Runner\.xcworkspace/xcshareddata/WorkspaceSettings\.xcsettings
13 | example/analysis_options.yaml
14 |
15 | # FVM Version Cache
16 | .fvm/
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 5391447fae6209bb21a89e6a5a6583cac1af9b4b
8 | channel: beta
9 |
10 | project_type: plugin
11 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "name": "Dart",
9 | "type": "dart",
10 | "request": "launch",
11 | "program": "example/lib/main.dart"
12 | }
13 |
14 | ]
15 | }
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "dart.flutterSdkPath": ".fvm/versions/3.27.4"
3 | }
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # 3.0.4
2 | * close app on last page
3 |
4 | # 3.0.3
5 | * Add custom pop handler
6 |
7 | # 3.0.2
8 | * Dispose drawer animation when DrawerScaffold call dispose()
9 | * make `drawers` required.
10 | * add `closeOnPopInvoked` parameter to auto close drawer for ios
11 | * optimized code and logic
12 |
13 | # 3.0.1
14 | * Remove unnecessary print
15 | * upgrade dependencies
16 |
17 | # 3.0.0
18 | * Make API Changes compatible with Flutter 3.22.0
19 | * BREAKING CHANGE: Add flutter version constraint to be >=3.22.0. This will break for lower versions of Flutter.
20 |
21 | # 2.4.1
22 | * fix static analysis
23 |
24 | # 2.4.0
25 | * Upgrade flutter sdk
26 | * remove/replace deprecated methods and attributes
27 |
28 | # 2.3.1-dev.1
29 | * Fix MenuController
30 |
31 | # 2.3.0-dev.6
32 | * DrawerScaffold body attribute
33 |
34 | # 2.3.0-dev.5
35 | * Fix State
36 |
37 | # 2.3.0-dev.4
38 | * Fix null-safety
39 | * Fix initial value
40 |
41 | # 2.3.0-dev.3
42 | * Make **SideDrawer.count()** as **static method**
43 | * Uncontrol SideDrawer
44 |
45 | # 2.3.0-dev.2
46 | * Fix function type mismatch
47 |
48 | # 2.3.0-dev.1
49 | * new ClassName.identifier: **SideDrawer.count()**, **SideDrawer.child()** and **SideDrawer.custom()**
50 |
51 | # 2.3.0-dev
52 | * peek menu
53 | * hideOnItemPressed
54 |
55 | # 2.2.1
56 | * withSafeArea attribute
57 |
58 | # 2.2.0
59 | * Fix itemBuilder with animation
60 |
61 | # 2.1.2
62 | * Set/assign/copy missing attribute from **AppBar**
63 |
64 | # 2.1.1
65 | * Change appBar parameter type to **PreferredSizeWidget**
66 |
67 | # 2.1.0
68 | * Prefix and suffix attribute
69 |
70 | # 2.0.0+4
71 | * Change minimum version for dart
72 |
73 | # 2.0.0+3
74 | * fix pub.dev score issue
75 |
76 | # 2.0.0+2
77 | * revert pubspec
78 |
79 | # 2.0.0+1
80 | * fix pub.dev issue
81 |
82 | # 2.0.0
83 | * Migrate to null safety
84 | * add **backgroundColor** parameter
85 | * change **mainDrawer** to defaultDirection
86 | * remove **contentView** parameter
87 |
88 | # 1.2.2
89 | * Add child option on [MenuScreen]
90 | * Animation fixed
91 | * GlobalKey error fixed
92 |
93 | # 1.2.1
94 | * ```slide``` parameter on SideDrawer as a flag to slide menu with main container while drawer is opening or closing
95 | * Bug fixed
96 |
97 | # 1.1.4
98 | # 1.1.3
99 | * Listener for onSlide, onOpened and onClosed
100 |
101 | # 1.1.2
102 | * Supress deprecated warning
103 |
104 | # 1.1.1
105 | * Supress deprecated warning
106 |
107 | # 1.1.0
108 | * Web support
109 |
110 | # 1.0.4
111 | * Duration & Curve variable on SideDrawer
112 |
113 | # 1.0.3
114 | * Reuse controller when scaffold config update
115 | * Add elevation & corner radius config on SideDrawer
116 | * Add more example
117 | * **Bug fixed**
118 |
119 | # 1.0.2
120 | * 3D-effect
121 |
122 | # 1.0.1
123 | * add more **Scaffold** config
124 |
125 | # 1.0.0
126 | * Replace **AppBarProps** with **AppBar** Widget
127 | * Multi-drawer
128 | * Right Drawer
129 |
130 | # 0.0.10
131 | * Floating action button with location and animator
132 | * Bottom navigation bar
133 | * Extended body
134 |
135 | # 0.0.9
136 | * Added support for AndroidX
137 |
138 | # 0.0.7
139 | * Add icon parameter on MenuItem
140 | * Support custom MenuItem widget
141 | * Add drawer controller
142 | * Add footer view option
143 |
144 | # 0.0.6
145 | * Drawer absorb gesture, if open
146 |
147 | # 0.0.5
148 | * Handle back button event for Android device
149 | * Add corner radius constraint
150 | * Add content shadow constraint
151 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Muhammad Norzariman Razari
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | # This file configures the analyzer, which statically analyzes Dart code to
2 | # check for errors, warnings, and lints.
3 | #
4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6 | # invoked from the command line by running `flutter analyze`.
7 |
8 | # The following line activates a set of recommended lints for Flutter apps,
9 | # packages, and plugins designed to encourage good coding practices.
10 | analyzer:
11 | errors:
12 | depend_on_referenced_packages: ignore
13 | include: package:flutter_lints/flutter.yaml
14 |
15 | linter:
16 | # The lint rules applied to this project can be customized in the
17 | # section below to disable rules from the `package:flutter_lints/flutter.yaml`
18 | # included above or to enable additional rules. A list of all available lints
19 | # and their documentation is published at https://dart.dev/lints.
20 | #
21 | # Instead of disabling a lint rule for the entire project in the
22 | # section below, it can also be suppressed for a single line of code
23 | # or a specific dart file by using the `// ignore: name_of_lint` and
24 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file
25 | # producing the lint.
26 | rules:
27 | # avoid_print: false # Uncomment to disable the `avoid_print` rule
28 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
29 |
30 | # Additional information about this file can be found at
31 | # https://dart.dev/guides/language/analysis-options
32 |
--------------------------------------------------------------------------------
/drawerbehavior.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.lock
4 | *.log
5 | *.pyc
6 | *.swp
7 | .DS_Store
8 | .atom/
9 | .buildlog/
10 | .history
11 | .svn/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # Visual Studio Code related
20 | .vscode/
21 |
22 | # Flutter/Dart/Pub related
23 | **/doc/api/
24 | .dart_tool/
25 | .flutter-plugins
26 | .packages
27 | .pub-cache/
28 | .pub/
29 | build/
30 |
31 | # Android related
32 | **/android/**/gradle-wrapper.jar
33 | **/android/.gradle
34 | **/android/captures/
35 | **/android/gradlew
36 | **/android/gradlew.bat
37 | **/android/local.properties
38 | **/android/**/GeneratedPluginRegistrant.java
39 |
40 | # iOS/XCode related
41 | **/ios/**/*.mode1v3
42 | **/ios/**/*.mode2v3
43 | **/ios/**/*.moved-aside
44 | **/ios/**/*.pbxuser
45 | **/ios/**/*.perspectivev3
46 | **/ios/**/*sync/
47 | **/ios/**/.sconsign.dblite
48 | **/ios/**/.tags*
49 | **/ios/**/.vagrant/
50 | **/ios/**/DerivedData/
51 | **/ios/**/Icon?
52 | **/ios/**/Pods/
53 | **/ios/**/.symlinks/
54 | **/ios/**/profile
55 | **/ios/**/xcuserdata
56 | **/ios/.generated/
57 | **/ios/Flutter/App.framework
58 | **/ios/Flutter/Flutter.framework
59 | **/ios/Flutter/Generated.xcconfig
60 | **/ios/Flutter/app.flx
61 | **/ios/Flutter/app.zip
62 | **/ios/Flutter/flutter_assets/
63 | **/ios/ServiceDefinitions.json
64 | **/ios/Runner/GeneratedPluginRegistrant.*
65 |
66 | # Exceptions to above rules.
67 | !**/ios/**/default.mode1v3
68 | !**/ios/**/default.mode2v3
69 | !**/ios/**/default.pbxuser
70 | !**/ios/**/default.perspectivev3
71 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
72 |
--------------------------------------------------------------------------------
/example/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: "d8a9f9a52e5af486f80d932e838ee93861ffd863"
8 | channel: "stable"
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
17 | base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
18 | - platform: android
19 | create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
20 | base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
21 | - platform: ios
22 | create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
23 | base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
24 | - platform: web
25 | create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
26 | base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
27 | - platform: windows
28 | create_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
29 | base_revision: d8a9f9a52e5af486f80d932e838ee93861ffd863
30 |
31 | # User provided section
32 |
33 | # List of Local paths (relative to this file) that should be
34 | # ignored by the migrate tool.
35 | #
36 | # Files that are not part of the templates will be ignored by default.
37 | unmanaged_files:
38 | - 'lib/main.dart'
39 | - 'ios/Runner.xcodeproj/project.pbxproj'
40 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # drawerbehavior_example
2 |
3 | Demonstrates how to use the drawerbehavior plugin.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://flutter.io/docs/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://flutter.io/docs/cookbook)
13 |
14 | For help getting started with Flutter, view our
15 | [online documentation](https://flutter.io/docs), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/to/reference-keystore
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/example/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "com.android.application"
3 | id "kotlin-android"
4 | // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
5 | id "dev.flutter.flutter-gradle-plugin"
6 | }
7 |
8 | android {
9 | namespace = "dev.shiburagi.drawerbehavior_example"
10 | compileSdk = flutter.compileSdkVersion
11 | ndkVersion = flutter.ndkVersion
12 |
13 | compileOptions {
14 | sourceCompatibility = JavaVersion.VERSION_1_8
15 | targetCompatibility = JavaVersion.VERSION_1_8
16 | }
17 |
18 | kotlinOptions {
19 | jvmTarget = JavaVersion.VERSION_1_8
20 | }
21 |
22 | defaultConfig {
23 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
24 | applicationId = "dev.shiburagi.drawerbehavior_example"
25 | // You can update the following values to match your application needs.
26 | // For more information, see: https://flutter.dev/to/review-gradle-config.
27 | minSdk = flutter.minSdkVersion
28 | targetSdk = flutter.targetSdkVersion
29 | versionCode = flutter.versionCode
30 | versionName = flutter.versionName
31 | }
32 |
33 | buildTypes {
34 | release {
35 | // TODO: Add your own signing config for the release build.
36 | // Signing with the debug keys for now, so `flutter run --release` works.
37 | signingConfig = signingConfigs.debug
38 | }
39 | }
40 | }
41 |
42 | flutter {
43 | source = "../.."
44 | }
45 |
--------------------------------------------------------------------------------
/example/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
15 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
30 |
33 |
34 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/dev/shiburagi/drawerbehavior_example/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package dev.shiburagi.drawerbehavior_example
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity()
6 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/example/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/android/build.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | rootProject.buildDir = "../build"
9 | subprojects {
10 | project.buildDir = "${rootProject.buildDir}/${project.name}"
11 | }
12 | subprojects {
13 | project.evaluationDependsOn(":app")
14 | }
15 |
16 | tasks.register("clean", Delete) {
17 | delete rootProject.buildDir
18 | }
19 |
--------------------------------------------------------------------------------
/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
6 |
--------------------------------------------------------------------------------
/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }()
9 |
10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11 |
12 | repositories {
13 | google()
14 | mavenCentral()
15 | gradlePluginPortal()
16 | }
17 | }
18 |
19 | plugins {
20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21 | id "com.android.application" version "8.1.0" apply false
22 | id "org.jetbrains.kotlin.android" version "1.8.22" apply false
23 | }
24 |
25 | include ":app"
26 |
--------------------------------------------------------------------------------
/example/assets/user1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/assets/user1.jpg
--------------------------------------------------------------------------------
/example/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/example/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 12.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
43 |
49 |
50 |
51 |
52 |
53 |
63 |
65 |
71 |
72 |
73 |
74 |
80 |
82 |
88 |
89 |
90 |
91 |
93 |
94 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 |
4 | @main
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shiburagi/Drawer-Behavior-Flutter/9682e2f85e5bf82b9c70763217c0f495544887e0/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CADisableMinimumFrameDurationOnPhone
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | Example
11 | CFBundleExecutable
12 | $(EXECUTABLE_NAME)
13 | CFBundleIdentifier
14 | $(PRODUCT_BUNDLE_IDENTIFIER)
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | example
19 | CFBundlePackageType
20 | APPL
21 | CFBundleShortVersionString
22 | $(FLUTTER_BUILD_NAME)
23 | CFBundleSignature
24 | ????
25 | CFBundleVersion
26 | $(FLUTTER_BUILD_NUMBER)
27 | LSRequiresIPhoneOS
28 |
29 | UIApplicationSupportsIndirectInputEvents
30 |
31 | UILaunchStoryboardName
32 | LaunchScreen
33 | UIMainStoryboardFile
34 | Main
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | UISupportedInterfaceOrientations~ipad
42 |
43 | UIInterfaceOrientationPortrait
44 | UIInterfaceOrientationPortraitUpsideDown
45 | UIInterfaceOrientationLandscapeLeft
46 | UIInterfaceOrientationLandscapeRight
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/example/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/example/ios/RunnerTests/RunnerTests.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import XCTest
4 |
5 | class RunnerTests: XCTestCase {
6 |
7 | func testExample() {
8 | // If you add code to the Runner application, consider adding tests here.
9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/example/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'dart:math';
2 |
3 | import 'package:drawerbehavior_example/pages/drawer_3d.dart';
4 | import 'package:drawerbehavior_example/pages/drawer_custom_item.dart';
5 | import 'package:drawerbehavior_example/pages/drawer_custom_item_by_count.dart';
6 | import 'package:drawerbehavior_example/pages/drawer_scale.dart';
7 | import 'package:drawerbehavior_example/pages/drawer_scale_gradient.dart';
8 | import 'package:drawerbehavior_example/pages/drawer_scale_icon.dart';
9 | import 'package:drawerbehavior_example/pages/drawer_scale_left_3d_right_slide_.dart';
10 | import 'package:drawerbehavior_example/pages/drawer_scale_left_right.dart';
11 | import 'package:drawerbehavior_example/pages/drawer_scale_left_right_inverse.dart';
12 | import 'package:drawerbehavior_example/pages/drawer_scale_no_animation.dart';
13 | import 'package:drawerbehavior_example/pages/drawer_scale_peek_left.dart';
14 | import 'package:drawerbehavior_example/pages/drawer_scale_peek_right.dart';
15 | import 'package:drawerbehavior_example/pages/drawer_scale_right.dart';
16 | import 'package:drawerbehavior_example/pages/drawer_slide.dart';
17 | import 'package:drawerbehavior_example/pages/drawer_slide_custom_appbar.dart';
18 | import 'package:drawerbehavior_example/pages/drawer_slide_menu_slide.dart';
19 | import 'package:drawerbehavior_example/pages/drawer_slide_with_footer.dart';
20 | import 'package:drawerbehavior_example/pages/drawer_slide_with_header.dart';
21 | import 'package:drawerbehavior_example/pages/drawer_with_child.dart';
22 | import 'package:flutter/material.dart';
23 |
24 | void main() => runApp(MyApp());
25 |
26 | class MyApp extends StatefulWidget {
27 | const MyApp({Key? key}) : super(key: key);
28 |
29 | @override
30 | State createState() => _MyAppState();
31 | }
32 |
33 | class _MyAppState extends State {
34 | Widget createButton(context, {text, navigate, Color? color}) {
35 | Color buttonColor = color ?? Theme.of(context).primaryColor;
36 | return Container(
37 | margin: EdgeInsets.fromLTRB(12, 0, 12, 12),
38 | child: SizedBox(
39 | width: min(240, MediaQuery.of(context).size.width - 48),
40 | child: ElevatedButton(
41 | style: ElevatedButton.styleFrom(backgroundColor: buttonColor)
42 | .copyWith(
43 | foregroundColor: WidgetStateProperty.all(
44 | ThemeData.estimateBrightnessForColor(buttonColor) ==
45 | Brightness.light
46 | ? Colors.black
47 | : Colors.white)),
48 | onPressed: () {
49 | Navigator.pushNamed(context, navigate);
50 | },
51 | child: Text(
52 | text,
53 | textAlign: TextAlign.center,
54 | ))),
55 | );
56 | }
57 |
58 | Widget home(context) {
59 | return Scaffold(
60 | appBar: AppBar(
61 | title: Text("Drawer Behavior"),
62 | ),
63 | body: SingleChildScrollView(
64 | child: Container(
65 | padding: EdgeInsets.all(16.0),
66 | child: Wrap(
67 | alignment: WrapAlignment.center,
68 | children: [
69 | createButton(context,
70 | text: "Scale",
71 | navigate: "/scale",
72 | color: Theme.of(context).colorScheme.secondary),
73 | createButton(context,
74 | text: "Scale - with Icon",
75 | navigate: "/slide/scaleicon",
76 | color: Theme.of(context).colorScheme.secondary),
77 | createButton(context,
78 | text: "Scale - no animation",
79 | navigate: "/scale/noanimation",
80 | color: Theme.of(context).colorScheme.secondary),
81 | createButton(context,
82 | text: "Scale - Gradient Background",
83 | navigate: "/scale/background/gradient",
84 | color: Theme.of(context).colorScheme.secondary),
85 | createButton(context,
86 | text: "3D",
87 | navigate: "/3d",
88 | color: Theme.of(context).colorScheme.secondary),
89 | Divider(height: 16, color: Theme.of(context).dividerColor),
90 | Text("Align Top"),
91 | Divider(height: 16, color: Theme.of(context).dividerColor),
92 | createButton(context,
93 | text: "Slide ",
94 | navigate: "/slide",
95 | color: Theme.of(context).colorScheme.secondary),
96 | createButton(context,
97 | text: "Slide - Menu Slide ",
98 | navigate: "/slide/menuslide",
99 | color: Theme.of(context).colorScheme.secondary),
100 | createButton(context,
101 | text: "Slide - with Header View",
102 | navigate: "/slide/header",
103 | color: Theme.of(context).colorScheme.secondary),
104 | createButton(context,
105 | text: "Slide - with Footer View",
106 | navigate: "/drawer8",
107 | color: Theme.of(context).colorScheme.secondary),
108 | Divider(height: 16, color: Theme.of(context).dividerColor),
109 | Text("Duo Drawer"),
110 | Divider(height: 16, color: Theme.of(context).dividerColor),
111 | createButton(context,
112 | text: "Left & Right",
113 | navigate: "/duo/leftandright",
114 | color: Theme.of(context).colorScheme.secondary),
115 | createButton(context,
116 | text: "Left & Right (Inverse)",
117 | navigate: "/duo/leftandright/inverse",
118 | color: Theme.of(context).colorScheme.secondary),
119 | createButton(context,
120 | text: "Left(3D) & Right(Slide)",
121 | navigate: "/duo/left3dandrightslide",
122 | color: Theme.of(context).colorScheme.secondary),
123 | createButton(context,
124 | text: "Right",
125 | navigate: "/duo/right",
126 | color: Theme.of(context).colorScheme.secondary),
127 | Divider(height: 16, color: Theme.of(context).dividerColor),
128 | Text("Peek"),
129 | Divider(height: 16, color: Theme.of(context).dividerColor),
130 | createButton(context,
131 | text: "Peek Left",
132 | navigate: "/peek/duo/left",
133 | color: Theme.of(context).colorScheme.secondary),
134 | createButton(context,
135 | text: "Peek Right",
136 | navigate: "/peek/duo/right",
137 | color: Theme.of(context).colorScheme.secondary),
138 | Divider(height: 16, color: Theme.of(context).dividerColor),
139 | Text("Customize"),
140 | Divider(height: 16, color: Theme.of(context).dividerColor),
141 | createButton(context,
142 | text: "Customize Item",
143 | navigate: "/custom/item",
144 | color: Theme.of(context).colorScheme.secondary),
145 | createButton(context,
146 | text: "Customize Item by Count",
147 | navigate: "/custom/item/count",
148 | color: Theme.of(context).colorScheme.secondary),
149 | createButton(context,
150 | text: "Custom AppBar",
151 | navigate: "/custom/appbar",
152 | color: Theme.of(context).colorScheme.secondary),
153 | createButton(context,
154 | text: "Using child",
155 | navigate: "/custom/withchild",
156 | color: Theme.of(context).colorScheme.secondary),
157 | ],
158 | )),
159 | ),
160 | );
161 | }
162 |
163 | @override
164 | Widget build(BuildContext context) {
165 | final theme = ThemeData(primarySwatch: Colors.teal);
166 | return MaterialApp(
167 | theme: theme.copyWith(
168 | colorScheme:
169 | theme.colorScheme.copyWith(secondary: Colors.amberAccent)),
170 | routes: {
171 | "/": home,
172 | "/scale": (context) => createPage(DrawerScale()),
173 | "/scale/noanimation": (context) => createPage(DrawerScaleNoAnimation()),
174 | "/scale/background/gradient": (context) =>
175 | createPage(DrawerScaleGradient()),
176 | "/slide": (context) => createPage(DrawerSlide()),
177 | "/slide/menuslide": (context) => createPage(DrawerSlideMenuSlide()),
178 | "/slide/header": (context) => createPage(DrawerSlideWithHeader()),
179 | "/slide/scaleicon": (context) => createPage(DrawerScaleIcon()),
180 | "/duo/leftandright": (context) => createPage(DrawerLeftAndRight()),
181 | "/duo/right": (context) => createPage(DrawerRight()),
182 | "/duo/leftandright/inverse": (context) =>
183 | createPage(DrawerLeftAndRightInverse()),
184 | "/3d": (context) => createPage(Drawer3d()),
185 | "/duo/left3dandrightslide": (context) =>
186 | createPage(DrawerLeft3DAndRightSlide()),
187 | "/drawer8": (context) => createPage(DrawerSlideWithFooter()),
188 | "/peek/duo/left": (context) => createPage(DrawerPeekLeft()),
189 | "/peek/duo/right": (context) => createPage(DrawerPeekRight()),
190 | "/custom/appbar": (context) => createPage(DrawerSlideCustomAppBar()),
191 | "/custom/item": (context) => createPage(DrawerCustomItem()),
192 | "/custom/item/count": (context) =>
193 | createPage(DrawerCustomItemByCount()),
194 | "/custom/withchild": (context) => createPage(DrawerWithChild()),
195 | },
196 | );
197 | }
198 |
199 | Widget createPage(Widget child) {
200 | return Scaffold(
201 | appBar: AppBar(),
202 | body: child,
203 | );
204 | }
205 | }
206 |
--------------------------------------------------------------------------------
/example/lib/menus/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:drawerbehavior/drawerbehavior.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | List