首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货 | 携程火车票Flutter最佳实践

    ///存放界面所有的widgets,用以缓存 List widgets = new List(); ///因为头部布局是静态的不刷新,使用变量控制是否复用以前的widgets...var refreshPage = true; ///获取界面布局所有的widgets List getPageWidgets(ScriptDataEntity data) { if(...refreshPage) { return widgets; } } 四、Flutter 布局技巧 4.1 Flutter 不可见组件预加载 Flutter 一些组件基本都是有懒加载的,不可见的组件是没有渲染视图的...比如当你滑动到第五个可见的时候,就提前把下一页的数据加载好。 列表页通过桥方法获取上一个页面预加载的数据,这样就能有一个直出体验,这里要考虑数据已经加载好、加载中、加载失败的情况。...0,这样就会导致你的组件的宽度为负数,报出错误异常。

    3K30

    从零构建可扩展 Flutter 应用:v1.0 → v2.0 全代码详解 -《已适配开源鸿蒙》

    从零构建可扩展 Flutter 应用:v1.0 → v2.0 全代码详解 副标题:一个干净、模块化、支持 Riverpod 状态管理的生产级起点 在 Flutter 开发中,很多项目失败并非因为技术不行...3. lib/widgets/app_bar_title.dart —— 可复用组件 import 'package:flutter/material.dart'; class AppBarTitle...4. lib/widgets/theme_toggle_button.dart —— 主题切换按钮 import 'package:flutter/material.dart'; import 'package...5. lib/app.dart —— 使用 Riverpod 主题 import 'package:flutter/material.dart'; import 'package:flutter_riverpod...所有代码均可直接复制使用,并具备良好的扩展性。 好的架构不是一开始就复杂的,而是从第一天起就为“变化”做好准备。

    23310

    Flutter 异常处理之图片篇

    不管处理方式是怎样,首先我们要做的就是能够知道图片加载失败。 如何获知图片加载失败呢?下面我们通过 Flutter 自带网络加载 API 和一个第三方网络库来进行对比说明。...= null), super(key: key); 可以看到只有 src 是必填参数,因此我们给出 src 为不同值的情况。 1....不行,这边测试了,填 null 当图片加载成功时控制台会抛异常。所以提供一个不需要任何实现的回调即可。 错误回调是可选的,因为我们本篇的主题就是要获取错误回调,所以这里提供了实现。...:18)#9 StatelessElement.build (package:flutter/src/widgets/framework.dart:3774:28)#10 ComponentElement.performRebuild...(package:flutter/src/widgets/framework.dart:3721:15flutter: enter onError end 可以看到确实进入错误回调了。

    2.7K30

    带你快速掌握Flutter的视图(Widgets)

    在这篇文章中,将向大家分享Flutter开发中的一些视图(Widgets)相关的一些知识和经验,主要包含: 谁是Flutter中View? 如何更新Widgets? 如何布局?...如何构建自定义Widgets? 如何设置Widget的透明度? 通过这篇文章的学习,将为你揭开这些答案。 谁是Flutter中View?...此外,与View不同,Flutter的Widget很轻巧,部分原因在于它的不变性。 因为它本身不是视图,并且不是直接绘制任何东西,而是对UI及其语义的描述。...在 Flutter 中,使用动画库来包裹 Widgets,而不是创建一个动画 Widget。...; 在 Flutter 中,推荐组合多个小的 Widgets 来构建一个自定义的 Widget(而不是扩展它)。

    12.8K10

    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发

    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter...: Text(text), ); }}调用自定义组件:import 'package:flutter/material.dart';import 'package:ff_social_app/widgets...粉色按钮自定义组件内容:#file:g:\clone\ff-flutter\lib\widgets\pinkbutton.dartimport 'package:flutter/material.dart...\lib\widgets\blackbutton.dartimport 'package:flutter/material.dart';import 'package:logging/logging.dart...:ff_flutter/lib/widgets/pinkbutton.dart'; // 引入 PinkButtonimport 'package:ff_flutter/lib/widgets/blackbutton.dart

    61500

    Flutter性能调优、复杂业务保证Flutter的高性能高流畅

    1.Framework使用dart实现,包括Material Design风格的Widget,Cupertino(针对iOS)风格的Widgets,文本/图片/按钮等基础Widgets,渲染,动画,手势等...此部分的核心代码是:flutter仓库下的flutter package,以及sky_engine仓库下的io,async,ui(dart:ui库提供了Flutter框架和引擎之间的接口)等package...Widget是不可改变,需要重新创建一颗新树,build开始,然后对上一帧的element树做遍历,调用他的updateChild,看子节点类型跟之前是不是一样,不一样的话就把子节点扔掉,创造一个新的,...'dart:async'; import 'package:flutter/material.dart'; class Two extends StatefulWidget { @override...build层级明显减少,总耗时也明显降低 import 'dart:async'; import 'package:flutter/material.dart'; class Three extends

    1.7K31

    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时

    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交...,自己试试就知道了哈,而不是你们以为的很快很简单,这点请必须要知道。...代码部分先看个人中心页面的变化:personal_data_form.dartimport 'package:flutter/material.dart';import 'package:flutter_screenutil...:flutter/material.dart';import 'package:flutter_screenutil/flutter_screenutil.dart';import 'widgets/vip_header.dart...:flutter/material.dart';import 'package:flutter_screenutil/flutter_screenutil.dart';class VipPurchase

    42400

    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程

    我们先把样式写出来,如下:import 'package:flutter/material.dart';void main() { runApp(const MainApp());}class MainApp...ok根据提示,我们需要完整的修改一下代码,import 'package:flutter/material.dart';import 'package:logging/logging.dart';void...使用 Material 颜色import 'package:flutter/material.dart';void main() => runApp(MyApp());class MyApp extends...适用场景:当需要突出按钮的轮廓而不是整体填充时使用。适合搭配浅色背景或者当希望按钮看起来更轻盈时。样式定制:可以通过style属性来自定义边框宽度、颜色等样式。...扩展知识Flutter中常见的Flutter按钮组件:1. **ElevatedButton**特点:具有阴影效果,看起来像是浮起的。适用场景:适用于大多数需要突出显示的按钮。2.

    1.3K10
    领券