在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 高仿书旗小说 Flutter 版

高仿书旗小说 Flutter 版

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:10.45M
  • 下载次数:6
  • 浏览次数:27
  • 发布时间:2023-06-19
  • 实例类别:一般编程问题
  • 发 布 人:azha1
  • 文件格式:.rar
  • 所需积分:10
 相关标签: flutter Tt 小说 高仿

实例介绍

【实例简介】高仿书旗小说 Flutter 版

## 简介

这是一个用Flutter写的书旗小说客户端。

主要实现的功能有:
* 框架:App常用的Tab框架,UI根据系统字体设定自适应;
* 书城:3D轮播、菜单、五种通过API配置的卡片样式;
* 小说详情:导航栏样式切换动效、高斯模糊效果、文字伸缩;
* 书架:顶部云彩动效、导航栏样式切换动效、书籍展示;
* 我的:未登录/登录状态切换,菜单展示;
* 登录:获取验证码、用户登录、用户状态缓存、用户注销;
* 阅读:文章加载、横向翻页、菜单展示。

所有功能都是用Dart写的,iOS和Android的代码复用率达到了100%

我试着让这个Demo的结构尽量接近实际项目,同时使用比较简单方式去实现功能。这样可以让刚接触Flutter的人更够容易理解代码。

App中的网络请求均通过一个名为**Request**的工具类。在Request内部,通过**本地mock**方式,获取模拟数据。

## 第三方依赖

* [carousel_slider](https://pub.flutter-io.cn/packages/carousel_slider)
* [cached_network_image](https://pub.flutter-io.cn/packages/cached_network_image)
* [shared_preferences](https://pub.flutter-io.cn/packages/shared_preferences)
* [webview_flutter](https://pub.flutter-io.cn/packages/flutter_webview_plugin)
* [share](https://pub.flutter-io.cn/packages/share)

## 安装

1. **Clone the repo**

```
$ git clone https://github.com/huanxsd/flutter_shuqi.git
$ cd flutter_shuqi
```

2. **Running:**

```
$ flutter run
```


【实例截图】

from clipboard

from clipboard

from clipboard

【核心代码】
.
├── flutter_shuqi
│   ├── README-ZH.md
│   ├── README.md
│   ├── android
│   │   ├── app
│   │   │   ├── build.gradle
│   │   │   └── src
│   │   │       ├── debug
│   │   │       │   └── AndroidManifest.xml
│   │   │       ├── main
│   │   │       │   ├── AndroidManifest.xml
│   │   │       │   ├── kotlin
│   │   │       │   │   └── com
│   │   │       │   │       └── example
│   │   │       │   │           └── shuqi
│   │   │       │   │               └── MainActivity.kt
│   │   │       │   └── res
│   │   │       │       ├── drawable
│   │   │       │       │   └── launch_background.xml
│   │   │       │       ├── drawable-v21
│   │   │       │       │   └── 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
│   │   │       │       │   └── styles.xml
│   │   │       │       └── values-night
│   │   │       │           └── styles.xml
│   │   │       └── profile
│   │   │           └── AndroidManifest.xml
│   │   ├── build.gradle
│   │   ├── gradle
│   │   │   └── wrapper
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   └── settings.gradle
│   ├── img
│   │   ├── 2.0x
│   │   │   ├── actionbar_checkin.png
│   │   │   ├── actionbar_search.png
│   │   │   ├── aliuser_title_back_normal.9.png
│   │   │   ├── arrow_right.png
│   │   │   ├── bookshelf_add.png
│   │   │   ├── bookshelf_bg.png
│   │   │   ├── bookshelf_cloud_0.png
│   │   │   ├── bookshelf_cloud_1.png
│   │   │   ├── bookshelf_cloud_2.png
│   │   │   ├── bookshelf_cloud_3.png
│   │   │   ├── bookshelf_continue_read.png
│   │   │   ├── detail_chapter.png
│   │   │   ├── detail_down.png
│   │   │   ├── detail_fold_bg.png
│   │   │   ├── detail_latest.png
│   │   │   ├── detail_star.png
│   │   │   ├── detail_star_half.png
│   │   │   ├── detail_up.png
│   │   │   ├── detail_write_comment.png
│   │   │   ├── home_search.png
│   │   │   ├── home_tip.png
│   │   │   ├── icon_menu_catalog.png
│   │   │   ├── icon_menu_share.png
│   │   │   ├── me_action.png
│   │   │   ├── me_buy.png
│   │   │   ├── me_comment.png
│   │   │   ├── me_coupon.png
│   │   │   ├── me_date.png
│   │   │   ├── me_favorite.png
│   │   │   ├── me_feedback.png
│   │   │   ├── me_gift.png
│   │   │   ├── me_night.png
│   │   │   ├── me_record.png
│   │   │   ├── me_setting.png
│   │   │   ├── me_theme.png
│   │   │   ├── me_vip.png
│   │   │   ├── me_wallet.png
│   │   │   ├── menu_category.png
│   │   │   ├── menu_complete.png
│   │   │   ├── menu_publish.png
│   │   │   ├── menu_rank.png
│   │   │   ├── menu_vip.png
│   │   │   ├── placeholder_avatar.png
│   │   │   ├── pub_back_gray.png
│   │   │   ├── pub_back_white.png
│   │   │   ├── read_bg.png
│   │   │   ├── read_icon_brightness.png
│   │   │   ├── read_icon_catalog.png
│   │   │   ├── read_icon_chapter_next.png
│   │   │   ├── read_icon_chapter_previous.png
│   │   │   ├── read_icon_font.png
│   │   │   ├── read_icon_more.png
│   │   │   ├── read_icon_setting.png
│   │   │   ├── read_icon_vip.png
│   │   │   ├── read_icon_voice.png
│   │   │   ├── read_more_detail.png
│   │   │   ├── reader_battery.png
│   │   │   ├── tab_bookshelf_n.png
│   │   │   ├── tab_bookshelf_p.png
│   │   │   ├── tab_bookstore_n.png
│   │   │   ├── tab_bookstore_p.png
│   │   │   ├── tab_me_n.png
│   │   │   ├── tab_me_p.png
│   │   │   ├── tab_writer_n.png
│   │   │   └── tab_writer_p.png
│   │   ├── actionbar_checkin.png
│   │   ├── actionbar_search.png
│   │   ├── aliuser_title_back_normal.9.png
│   │   ├── arrow_right.png
│   │   ├── bookshelf_add.png
│   │   ├── bookshelf_bg.png
│   │   ├── bookshelf_cloud_0.png
│   │   ├── bookshelf_cloud_1.png
│   │   ├── bookshelf_cloud_2.png
│   │   ├── bookshelf_cloud_3.png
│   │   ├── bookshelf_continue_read.png
│   │   ├── detail_chapter.png
│   │   ├── detail_down.png
│   │   ├── detail_fold_bg.png
│   │   ├── detail_latest.png
│   │   ├── detail_star.png
│   │   ├── detail_star_half.png
│   │   ├── detail_up.png
│   │   ├── detail_write_comment.png
│   │   ├── home_search.png
│   │   ├── home_tip.png
│   │   ├── icon_menu_catalog.png
│   │   ├── icon_menu_share.png
│   │   ├── me_action.png
│   │   ├── me_buy.png
│   │   ├── me_comment.png
│   │   ├── me_coupon.png
│   │   ├── me_date.png
│   │   ├── me_favorite.png
│   │   ├── me_feedback.png
│   │   ├── me_gift.png
│   │   ├── me_night.png
│   │   ├── me_record.png
│   │   ├── me_setting.png
│   │   ├── me_theme.png
│   │   ├── me_vip.png
│   │   ├── me_wallet.png
│   │   ├── menu_category.png
│   │   ├── menu_complete.png
│   │   ├── menu_publish.png
│   │   ├── menu_rank.png
│   │   ├── menu_vip.png
│   │   ├── placeholder_avatar.png
│   │   ├── pub_back_gray.png
│   │   ├── pub_back_white.png
│   │   ├── read_bg.png
│   │   ├── read_icon_brightness.png
│   │   ├── read_icon_catalog.png
│   │   ├── read_icon_chapter_next.png
│   │   ├── read_icon_chapter_previous.png
│   │   ├── read_icon_font.png
│   │   ├── read_icon_more.png
│   │   ├── read_icon_setting.png
│   │   ├── read_icon_vip.png
│   │   ├── read_icon_voice.png
│   │   ├── read_more_detail.png
│   │   ├── reader_battery.png
│   │   ├── tab_bookshelf_n.png
│   │   ├── tab_bookshelf_p.png
│   │   ├── tab_bookstore_n.png
│   │   ├── tab_bookstore_p.png
│   │   ├── tab_me_n.png
│   │   ├── tab_me_p.png
│   │   ├── tab_writer_n.png
│   │   └── tab_writer_p.png
│   ├── ios
│   │   ├── Flutter
│   │   │   ├── AppFrameworkInfo.plist
│   │   │   ├── Debug.xcconfig
│   │   │   ├── Flutter.podspec
│   │   │   └── Release.xcconfig
│   │   ├── Podfile
│   │   ├── Podfile.lock
│   │   ├── Runner
│   │   │   ├── AppDelegate.swift
│   │   │   ├── Assets.xcassets
│   │   │   │   ├── AppIcon.appiconset
│   │   │   │   │   ├── Contents.json
│   │   │   │   │   ├── img_app-1.png
│   │   │   │   │   └── img_app.png
│   │   │   │   ├── Contents.json
│   │   │   │   └── LaunchImage.imageset
│   │   │   │       ├── Contents.json
│   │   │   │       ├── LaunchImage.png
│   │   │   │       ├── LaunchImage@3x.png
│   │   │   │       └── img_loading.png
│   │   │   ├── Base.lproj
│   │   │   │   ├── LaunchScreen.storyboard
│   │   │   │   └── Main.storyboard
│   │   │   ├── Info.plist
│   │   │   └── Runner-Bridging-Header.h
│   │   ├── Runner.xcodeproj
│   │   │   ├── project.pbxproj
│   │   │   ├── project.xcworkspace
│   │   │   │   ├── contents.xcworkspacedata
│   │   │   │   └── xcshareddata
│   │   │   │       ├── IDEWorkspaceChecks.plist
│   │   │   │       └── WorkspaceSettings.xcsettings
│   │   │   └── xcshareddata
│   │   │       └── xcschemes
│   │   │           └── Runner.xcscheme
│   │   └── Runner.xcworkspace
│   │       ├── contents.xcworkspacedata
│   │       └── xcshareddata
│   │           ├── IDEWorkspaceChecks.plist
│   │           └── WorkspaceSettings.xcsettings
│   ├── lib
│   │   ├── app
│   │   │   ├── app_navigator.dart
│   │   │   ├── app_scene.dart
│   │   │   ├── constant.dart
│   │   │   ├── request.dart
│   │   │   ├── root_scene.dart
│   │   │   ├── sq_color.dart
│   │   │   └── user_manager.dart
│   │   ├── bookshelf
│   │   │   ├── bookshelf_cloud_widget.dart
│   │   │   ├── bookshelf_header.dart
│   │   │   ├── bookshelf_item_view.dart
│   │   │   └── bookshelf_scene.dart
│   │   ├── global.dart
│   │   ├── home
│   │   │   ├── home_banner.dart
│   │   │   ├── home_list_view.dart
│   │   │   ├── home_menu.dart
│   │   │   ├── home_model.dart
│   │   │   ├── home_novel_cover_view.dart
│   │   │   ├── home_scene.dart
│   │   │   ├── home_section_view.dart
│   │   │   ├── novel_cell.dart
│   │   │   ├── novel_first_hybird_card.dart
│   │   │   ├── novel_four_grid_view.dart
│   │   │   ├── novel_grid_item.dart
│   │   │   ├── novel_normal_card.dart
│   │   │   └── novel_second_hybird_card.dart
│   │   ├── main.dart
│   │   ├── me
│   │   │   ├── code_button.dart
│   │   │   ├── login_scene.dart
│   │   │   ├── me_cell.dart
│   │   │   ├── me_header.dart
│   │   │   ├── me_scene.dart
│   │   │   ├── setting_scene.dart
│   │   │   └── web_scene.dart
│   │   ├── model
│   │   │   ├── article.dart
│   │   │   ├── chapter.dart
│   │   │   ├── novel.dart
│   │   │   └── novel_comment.dart
│   │   ├── novel_detail
│   │   │   ├── novel_comment_cell.dart
│   │   │   ├── novel_detail_cell.dart
│   │   │   ├── novel_detail_header.dart
│   │   │   ├── novel_detail_recommend_view.dart
│   │   │   ├── novel_detail_scene.dart
│   │   │   ├── novel_detail_toolbar.dart
│   │   │   └── novel_summary_view.dart
│   │   ├── public.dart
│   │   ├── reader
│   │   │   ├── article_provider.dart
│   │   │   ├── battery_view.dart
│   │   │   ├── reader_config.dart
│   │   │   ├── reader_menu.dart
│   │   │   ├── reader_overlayer.dart
│   │   │   ├── reader_page_agent.dart
│   │   │   ├── reader_scene.dart
│   │   │   ├── reader_utils.dart
│   │   │   └── reader_view.dart
│   │   ├── utility
│   │   │   ├── event_bus.dart
│   │   │   ├── screen.dart
│   │   │   ├── styles.dart
│   │   │   ├── toast.dart
│   │   │   └── utility.dart
│   │   └── widget
│   │       ├── novel_cover_image.dart
│   │       └── novel_cover_view.dart
│   ├── mock
│   │   ├── article_1000.json
│   │   ├── article_1001.json
│   │   ├── article_1002.json
│   │   ├── article_1003.json
│   │   ├── article_1004.json
│   │   ├── article_1005.json
│   │   ├── article_1006.json
│   │   ├── bookshelf.json
│   │   ├── catalog.json
│   │   ├── home_cartoon.json
│   │   ├── home_excellent.json
│   │   ├── home_female.json
│   │   ├── home_male.json
│   │   ├── login.json
│   │   ├── novel_comment.json
│   │   ├── novel_detail.json
│   │   ├── novel_recommend.json
│   │   └── sms.json
│   ├── pubspec.lock
│   ├── pubspec.yaml
│   └── screenshot
│       ├── android_0.png
│       ├── android_1.png
│       ├── android_2.png
│       ├── ios_0.png
│       ├── ios_1.png
│       └── ios_2.png
└── 高仿书旗小说 Flutter 版.rar

51 directories, 265 files


标签: flutter Tt 小说 高仿

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警