https://github.com/phoenixsky/fun_android_flutter
👿👿👿👿👿玩Android客户端Flutter版本。Provider的最佳实践.DarkMode、多色彩主题、国际化、切换字体、优美动画
https://github.com/phoenixsky/fun_android_flutter
flutter provider wanandroid
Last synced: 2 months ago
JSON representation
👿👿👿👿👿玩Android客户端Flutter版本。Provider的最佳实践.DarkMode、多色彩主题、国际化、切换字体、优美动画
- Host: GitHub
- URL: https://github.com/phoenixsky/fun_android_flutter
- Owner: phoenixsky
- Created: 2019-08-07T08:32:05.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-26T15:40:54.000Z (over 1 year ago)
- Last Synced: 2025-04-07T01:05:32.333Z (3 months ago)
- Topics: flutter, provider, wanandroid
- Language: Dart
- Homepage:
- Size: 9.71 MB
- Stars: 2,727
- Watchers: 72
- Forks: 499
- Open Issues: 14
-
Metadata Files:
- Readme: README-EN.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
Language: [English](https://github.com/phoenixsky/fun_android_flutter/blob/master/README-EN.md) | [中文简体](https://github.com/phoenixsky/fun_android_flutter/blob/master/README.md)

> Big F, it's `Fun`, also it means `Flutter`.
`FunAndroid` is a production project , Provider's best practices with MVVM
# ScreenShot
|  |  |  |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|  |  |  |
|  |  |  |# Home Page
> [https://github.com/phoenixsky/fun_android_flutter](https://github.com/phoenixsky/fun_android_flutter)
# Download page
# 下载地址
> [download page](https://www.pgyer.com/Ki0F)
# Environment :
* Flutter SDK (Channel dev, v1.10.3)# Update
## 2019-08-28
- add WebViewPlugin switcher in Setting Page
- My favourite list can refresh after the unlike in the detail page## 2019-08-26
- update favourite animation with Hero and Route . (hiding original hero after hero transition.见[pr-37341](https://github.com/flutter/flutter/pull/37341))

# Provider MVVM Best Practices
- Quickly add a page with pull-down refresh and pull up to load more pages. For example
1. Model

2. ViewModel

3. View
> `model.viewState == ViewState.busy` is better way ,but `isBusy` easy to write
# What can you find here??
1. Provider
1. When and Where init data
2. how to be with ViewState(`loading`、`error`、`empty`、`idle`、`unAuthorized`)。
3. use together with `pull to refresh`
2. Clear Structure。
3. Drop setState, Partial Rerefresh with XxxBuilder
4. App base module
1. Theme
2. DarkMode
3. Switch Font
4. Skeleton
5. i18n
6. Dio with Cookjar,use cookie login# To-Do
1. homepage second floor can't navigate
2. Sign in Hero animation shift
3. Sign out add animation# Bug
1. webview_flutter](https://pub.dev/packages/webview_flutter) some url can't navigate
2. [webview_flutter](https://pub.dev/packages/webview_flutter) in `CustomScrollView` can't scroll ,[issue](https://github.com/flutter/flutter/issues/31243#issuecomment-521564216) 。
3. anti-aliasing when same-colour blocks in SignIn Page。见[issue](https://github.com/flutter/flutter/issues/14288) 。# Thanks
1. [V2Lf](https://github.com/w4mxl/V2LF) ,made me like flutter
2. `goweii`[WanAndroid](https://github.com/goweii/WanAndroid)
3. [Tutorials](https://github.com/FilledStacks/flutter-tutorials),Video tutorial on youtube
4. [pull_to_refresh](https://pub.dev/packages/pull_to_refresh)
5. ZCOOL Font
6. [WanAndroid](https://www.wanandroid.com/blog/show/2) provide Api# About Me
- [Github](https://github.com/phoenixsky)
- [Blog](http://blog.phoenixsky.cn/)
- [简书](https://www.jianshu.com/u/145e6297cb26)
- Email: [email protected]# License
Copyright 2019 phoenixsky
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.