Appearance
目录结构
text
lib:
│ generated_plugin_registrant.dart//编译器自动生成的第三方插件配置
│ main.dart //入口配置
│
├─activitys//负责ui的布局(每个界面以及目录与controllers相对应)
│ │ main_activity.dart
│ │ new_base_activity.dart
│ │ splash_activity.dart
│ │
│ ├─fragments //activity内子界面布局
│ │ new_base_fragment.dart
│ │
│ ├─views //页面内常用到的布局
│ │ version_update_tips_view.dart
│ │
│ └─items //滑动列表下复用view的布局
│
├─configs //配置文件统一管理
│ app_config.dart //全局配置
│ assets_config.dart//图片字体资源路径等的配置
│ font_config.dart //字体风格配置
│ key_config.dart//缓存配置
│ response_config.dart//网络数据解析配置
│ router_config.dart//路由配置
│ url_config.dart//网络请求路径配置
│
├─controllers //ui对应的控制器,负责逻辑处理
│ │ main_activity_controller.dart
│ │ splash_activity_controller.dart
│ │
│ └─extra //全局控制器配置,比如主题,语言等可以放在这里
│ application_controller.dart
│
├─generated //多语言自动生成的目录
│ │ l10n.dart
│ │
│ └─intl
│ messages_all.dart
│ messages_en.dart
│
├─l10n //多语言配置
│ intl_en.arb
│
├─models //负责服务器数据解析
│ │ user_info.dart
│ │ user_info.g.dart
│ │
│ ├─extra //非网络请求数据类型的定义
│ │ key_value.dart
│ │
│ └─response //网络请求解析的自动生成处理
│ login_response_data.dart
│ login_response_data.g.dart
│
├─resources //资源文件的配置
│ dimens.dart
│ s_colors.dart
│
├─utils //常用布局工具类的封装
│ keyboard_util.dart
│ navigator_util.dart
│ network_util.dart
│ string_util.dart
│ view_util.dart
│
└─widgets //常用ui组件的封装
│ clear_over_scroll_behavior_view.dart
│ keep_alive_view.dart
│ material_inkwell_view.dart
│ pull_refresh_view.dart
│
├─loading_dialog //loading提示框组件
│ loading_dialog_controller.dart
│ loading_dialog_view.dart
│ loading_indicator.dart
│
├─normal //一些常用组件的封装,统一调用normal内的可以方便管理以及配置等
│ normal_button_view.dart
│ normal_choose_list_view.dart
│ normal_image_view.dart
│ normal_input_view.dart
│ normal_network_image_view.dart
│ normal_popup_route.dart
│ normal_popup_view.dart
│ normal_stateful_text_view.dart
│ normal_stateful_view.dart
│ normal_tab_view.dart
│ normal_text_view.dart
对应文件夹作用以及命名规范建议
activitys
负责ui的布局(每个界面以及目录与controllers
相对应)- 一个页面内多个子页面建议放在
fragments
内,每一个fragment
同样对应一个controller
,命名时候加上对应界面的activtiy
前缀方便查找定位- (如:
fragments/main_activity_fragment_my.dart
,同时对应一个main_activity_fragment_my_controller.dart
负责逻辑处理)
- (如:
- 一些与页面相关的组件可以放在
views
内,如果页面内存在复用布局,可以把他们都放到items
目录下,命名与对应的activity
或者fragment
对应- (如:
items/main_activity_fragment_home_meeting_view_item.dart
负责复用控件的布局)
- (如:
configs:负责配置文件的统一管理
assets_config.dart
负责图片字体图标资源的配置key_config.dart
负责缓存文件的配置response_config.dart
负责文件解析类型的支持,定义好对应的model
后,需要在该文件内进行声明注册router_config.dart
负责路由的配置url_config.dart
负责服务器请求的配置
l10n:负责多语言配置
- 项目中用到的语言建议统一写到这里
models:负责服务器数据解析
- 定义好数据格式后执行生产.g文件
model
文件变化后自动生成
text
flutter packages pub run build_runner build
flutter packages pub run build_runner watch
resources:负责宽高间距等的配置以及字体大小的配置
dimens.dart
负责距离配置s_colors.dart
负责颜色配置