English | 简体中文
A new Flutter project - implement common UI effects, encapsulate components and utils.
pwd:123456
The code is updated irregularly.
https://iotjin.github.io/jh_flutter_demo
- Flutter version 3.22.0
- Dart version 3.4.0
- Common framework construction, common base class implementation
- Macro Definitions for Font, Color, Frame, String, etc.
- Dio network request encapsulation
- API interface management and data management
- Modularized management of routes
- Screen adaptation
- Dark Mode adaptation
- Theme switch
- Internationalization (GetX)
- Material3 adaptation
- Components
- BaseAppBar、BaseTabBar、BaseRefreshView、BaseWebView
- Dialogs (center、bottom、toast、dialog、custom dialogs)
- Time、Date、single-column、multi-column and bottom single/multiple pickers
- Cascading picker (multi-dimensional array or tree structure, supports search)
- JhForm form input (single row、multi-row input style、select style、setting style、login style)
- JhTopTabBar(navigation bar page switching)
- Gradient color AppBar, multi-line title AppBar
- Imitation of WeChat's upper-right corner pop-up box
- Countdown button
- APP update dialog
- Picture/video picker based on WeChat UI (supports taking pictures and recording videos)
- Taking photos, local image selection, nine-grid display, full-screen image viewing
- Highlighting specified text in text
- Empty data and network exceptions
- Skeleton screen
- Horizontal sliding menu (same effect as Pinduoduo homepage, Taobao My channel)
- Carousel image(full screen, zoom)
- Shake, zoom, translate animation
- wave animation
- lottie animation
- tag view
- collapse view
- Utils
- AES encryption/decryption, MD5 encryption, base64 encoding/decoding
- Local data AES encrypted storage
- Real-time network monitoring
- Getting device information, screen information, and notch screen detection
- Loading image resources, color settings
- Status bar settings
- QR code scanning and generation
- Navigation route jumping
- Listening for page appearance or disappearance
- Time format conversion
- String processing
- Random numbers
- Exit the APP/jump to the app store
- Debounce / Throttle
- Jump tripartite map APP navigation
- UI related
- ListView related (paging up/down refresh, grouping up/down refresh, group sticking)
- GridView related
- Chart related (dynamic loading of multiple charts, gradient line charts, mixed line and bar charts)
- Badges
- AppBar search and header search
- Animation (tag cloud)
- List slide button
- City selection list
- ListView/GridView drag and drop sorting
- Rich text
- log in / Register
- Version new features
- Checking for updates
- Imitation of WeChat UI (home page, address book, discovery, and personal center, etc.)
- AppBar image pull-down zoom and gradient effect (WeChat Sports Ranking List, personal homepage)
- WeChat friends circle and image browsing
- Cross-slide (personal center effect)
Note:
- Packaged components and utils in the
jh_common
folder - For more, please download the project to view
- There will be some freezes in debug mode, which is normal. A good experience requires a release package. iOS can execute the command
flutter build ios
to create a release version. Android can execute the commandflutter build apk
to create a release version. - iOS14 crashes when running on a real machine, which can be run on a real machine through
flutter run --release
Important update
* v3.22.0 - Update pubspec library and flutter version(Flutter 3.22.0,Dart 3.4.0),Android 14 adaptation
* v3.16.0 - Update pubspec library and flutter version(Flutter 3.16.0,Dart 3.2.0),iOS minimum build version changed to 12.0 , Material3 adaptation
* v3.13.0 - Update pubspec library and flutter version(Flutter 3.13.0,Dart 3.1.0)
* v3.10.0 - Update pubspec library and flutter version(Flutter 3.10.0,Dart 3.0.0)
* v3.7.0 - Update pubspec library and flutter version(Flutter 3.7.0,Dart 2.19.0)
* v3.3.0 - Update pubspec library and flutter version(Flutter 3.3.0,Dart 2.18.0),iOS minimum build version changed to 11.0
* v3.0.0 - Update pubspec library and flutter version(Flutter 3.0.0,Dart 2.17.0)
* v2.10.1 - Dark Mode adaptation
* v2.10.0 - Update pubspec library and flutter version(Flutter 2.10.0,Dart 2.16.0)
* v2.0.0 - Update Flutter SDK( 2.0.3 )and pubspec library
* v1.0.0 - environment:Flutter version 1.22.3,Dart version 2.10.3
- If you think it's good, or my open source project is helpful to you, you can click "Star" in the upper right corner to support it. Your support is my motivation, thank you 🙂
- You can also scan the QR code below, invite the author to have a cup of milk tea 🧋
Some page effects are as follows:
Licenses
BSD 2-Clause License
Copyright (c) 2020, iotjin
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.