- 博客(273)
- 收藏
- 关注
原创 Flutter 实现验证码输入框学习
学习flutter代码 实现一个用于输入验证码的自定义组件,它允许用户输入固定长度的验证码,并在输入完成时触发回调。
2025-01-08 09:23:42
1021
原创 Flutter 实现 列表滑动过程控件停靠效果 学习
Ticker` 是 Flutter 动画系统的基础,它会按照屏幕刷新率(通常是每秒 60 次)调用一个回调函数,帮助你在每一帧更新动画。使用 `Ticker` 可以让动画与设备的帧同步,从而实现平滑的动画效果。`Expanded` 和 `Spacer` 是 Flutter 布局系统中强大且灵活的工具。通过这些小部件,你可以轻松创建响应式布局,确保组件在不同屏幕尺寸和方向上都能合理地显示和排列。了解如何使用这些工具将帮助你更高效地设计和实现复杂的用户界面。
2025-01-04 14:21:00
1217
1
原创 SelectionArea 实现富文本
使用 SelectionArea + Text.rich + TextSpan + WidgetSpan实现富文本。
2024-12-28 15:32:12
800
1
原创 Flutter 实现全局悬浮按钮学习
Flutter 代码如何实现了一个全局悬浮按钮,当点击按钮时,会显示一个可以拖动并且通过长按可以移除的悬浮控件。
2024-12-24 20:14:51
1502
2
原创 Flutter组合动画学习
如何使用动画控制器和动画来创建一个简单的动画效果。具体来说,它通过一个 `AnimationController` 来控制两个动画,一个用于旋转,一个用于绘制。
2024-12-21 16:10:50
1153
原创 flutter修改状态栏学习
AnnotatedRegion` 是一个强大的工具,可以在 Flutter 应用的特定区域中设置系统级别的 UI 样式。这使得开发者可以更细粒度地控制应用的视觉风格,特别是在需要根据不同界面动态调整状态栏和导航栏的外观时。通过理解和使用 `AnnotatedRegion`,可以大大增强应用的用户界面体验。`kToolbarHeight` 是一个简单但有用的常量,帮助开发者在 Flutter 应用中保持布局的一致性,特别是在应用栏的设计中。
2024-12-05 21:01:02
1299
原创 Flutter 中实现WrapContent状态
在 Flutter 中如何通过使用 `BoxConstraints` 来实现类似 Android 中 "WrapContent" 的功能。`WrapContent` 指的是布局大小由其内容决定,也就是内容多大,容器就多大。
2024-12-03 11:50:34
1204
原创 Flutter简单实现滑块验证
现在实现一个 Flutter 滑动验证组件,类似于许多网站和应用程序中常见的“滑动以验证”功能。它通过滑动一个滑块来完成验证操作,用户需要将滑块拖动到指定位置以完成验证。
2024-11-28 20:52:20
1430
原创 Flutter 共性元素动画
在 Flutter 中,共性元素动画(Shared Element Transitions)用于在页面导航或组件切换时创建视觉上更流畅和连贯的动画效果。这种动画可以使用户感受到两个界面之间的“物理联系”,比如图片从缩略图到全屏的扩大效果。
2024-11-27 10:48:43
1127
原创 Flutter实现简单Tag效果
在 Flutter 中,`Wrap` 是一种布局小部件,用于在水平或垂直方向上自动换行子小部件。它类似于 CSS 中的 `flex-wrap`,适合用于需要动态换行的布局场景,比如标签云、照片网格等。
2024-11-26 20:25:36
893
原创 Flutter实现气泡提示框学习
const` 构造函数中的字段必须是常量:确保所有字段初始化都是常量表达式。`GlobalKey` 不能是常量:因为它们在运行时创建,所以不能在 `const` 构造函数中直接初始化。通过参数传递可变对象:如果需要使用 `const` 构造函数,可以通过参数将 `GlobalKey` 传递进去,而不是在类内部直接初始化。
2024-11-20 14:23:58
1280
原创 Flutter实现绝对定位学习
通过 `Positioned`,你可以在父级 `Stack` 的边界内精确定位子组件,指定其相对于父级的四个边界的位置(`top`、`right`、`bottom`、`left`)。`Positioned` widget 需要与 `Stack` widget 一起使用,因为 `Stack` 提供了子组件可以相互重叠并相对于彼此进行定位的布局环境。在 `Stack` 中定位:`Positioned` 必须是 `Stack` 的直接子组件,它通过指定相对于 `Stack` 边界的偏移值来定位自己。
2024-11-15 18:17:48
1171
原创 flutter下拉刷新上拉加载的简单实现方式三
使用 `CustomScrollView` 结合 `SliverList` 实现了一个支持下拉刷新和上拉加载更多功能的滚动列表。
2024-11-13 10:29:04
1352
原创 Flutter下拉刷新上拉加载的简单实现方式一
使用 `disposed` 字段可以有效地防止在组件销毁后进行不必要或有害的 UI 更新。这种模式特别适用于涉及异步操作的 Flutter 应用开发,确保代码在处理 `State` 生命周期时更加健壮。在 Flutter 中,`dispose` 方法是一个非常重要的生命周期方法,用于在不再需要一个对象时释放资源。通常,`dispose` 方法用于清理那些可能导致内存泄漏的资源,如控制器、监听器和订阅等。
2024-11-05 09:58:35
1194
原创 Flutter Transform 学习
Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效,允许在渲染子部件之前对它们进行变换。
2024-10-12 17:49:12
810
原创 Flutter路由
路由作为一种页面切换的能力,非常重要。Flutter 中路由管理有几个重要的点。Navigator 1.0:Flutter 早期的路由系统,侧重于 移动端(Android/iOS) ,采用「命令式」编程风格,使用 Navigator.push() 和 Navigator.pop() 等方法来管理「路由栈」。
2024-09-25 20:26:11
1387
1
原创 Flutter类
Dart中的对象都继承自 Object 类,单继承(extend关键字)。Dart与Java、kotlin不同的是其无public、private、protected修饰符,默认public ,通过在属性名、方法名前加 _下划线 来定义是否私有。
2024-09-09 18:10:02
988
原创 Flutter Button使用
Material 组件库中有多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们的父类是于ButtonStyleButton。2.onPressed属性设置点击回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。1.按下时都会有“水波文动画”。
2024-09-08 14:58:57
1450
原创 flutter Image
Flutter中,Image是一个用于显示图片的控件,可以显示网络图片、本地图片以及Asset中的图片。Image控件支持多种常见的图片格式,例如PNG、JPEG、GIF等。Image.asset:指定显示的本地图片的Asset路径,用于加载Asset目录下的图片。Image.network:指定显示的网络图片的URL,用于加载网络图片。width和height:设置图片的宽度和高度。
2024-09-05 20:27:24
723
原创 flutter文本输入框使用
TextField 是 Material Design 文本字段。它允许用户使用硬件键盘或屏幕键盘输入文本。每当用户更改字段中的文本时,文本字段都会调用 onChanged 回调。如果用户表示他们已完成在字段中的输入(例如,通过按下软键盘上的按钮),文本字段将调用 onSubmitted 回调。
2024-09-03 10:05:12
1238
原创 Flutter中的Key
Key是Widget、Element 和 SemanticNodes 的标识符。Key 是Widget、Element 和 SemanticNodes的唯一标识。例如对于 Widget 在 Widget 树中改变了位置,Key 可以帮助它们保留状态。相对于无状态的Widget,Key对于有状态的 Widget 作用更大。
2024-08-29 20:01:16
1579
原创 SingleChildScrollView使用
Flutter 中,SingleChildScrollView(类比Android中的ScrollView) 是一个可以滚动单个子控件的小部件。当子控件的大小超过视图时,用户可以滚动以查看所有内容。SingleChildScrollView 通常用于创建可滚动的表单、列表或任何需要垂直或水平滚动的内容。类似于Android中的ScrollView,不过它只能接收一个子组件。
2024-08-27 20:49:40
1229
原创 Flutter ListView滑动
在Flutter中,ScrollController可以精确地控制和管理滚动行为。通过ScrollController,可以监听滚动的位置、速度,甚至可以在用户滚动时触发自定义的动作。此外,ScrollController还提供了对滚动位置的直接控制,可以编程地滚动到特定位置。
2024-08-25 16:38:39
2210
原创 Flutter ListView 实现不同样式 item
我们在实际开发中会创建显示不同类型内容的列表。以下是使用 Flutter 创建此类结构的方法:1. 创建包含不同类型项目的数据源。2. 将数据源转换为小部件列表。
2024-08-24 16:54:56
558
原创 Android 14适配
最近刚刚做了Android 14的适配(即targetSdkVersion 升级到 34 ),通过此博客整理下相关注意点。
2024-08-22 10:20:57
2173
1
原创 Android 应用启动时间统计方式
TTID 指标用于测量应用生成第一帧所用的时间,包括进程初始化(如果是冷启动)、activity 创建(如果是冷启动/温启动)以及显示第一帧。在 Android 4.4(API 级别 19)及更高版本中,Logcat 提供了一个 Displayed 值,用于测量从启动进程到完成在屏幕上绘制 activity 的第一帧之间经过的时间。在 Android 4.4(API 级别 19)及更高版本中,Logcat 包含一个输出行,该行包含名为Displayed的值。
2023-03-26 15:42:15
3575
原创 State 生命周期-笔记
这些特定的阶段,就涵盖了一个组件从加载到卸载的全过程,即生命周期。这样的需求,在原生开发中,我们可以通过重写 Activity、ViewController 生命周期回调方法,或是注册应用程序的相关通知,来监听 App 的生命周期并做相应的处理。对于开发者来说,无论是普通 Widget(的 State)还是 App,框架都给我们提供了生命周期的回调,可以让我们选择恰当的时机,做正确的事儿。视图的生命周期,定义了视图的加载到构建的全过程,其回调机制能够确保我们可以根据视图的状态选择合适的时机做恰当的事情。
2023-03-12 14:56:41
485
原创 WebView白屏优化的一些整理
1.H5页面运行在独立进程中,H5打开需要首先启动Web进程。2.每次关闭H5页面会通过exitProcess(0)关闭Web 进程。
2023-03-12 12:09:11
1564
原创 Android应用启动优化笔记整理
应用启动相关流程与优化。应用启动主要涉及SystemServer进程 和 app进程。SystemServer进程负责app进程创建和管理、窗口的创建和管理(StartingWindow 和 AppWindow)、应用的启动流程调度等。App进程被创建后,进行一系列进程初始化、组件初始化(Activity、Service、ContentProvider、Broadcast)、主页面的构建、View加载。
2023-03-05 15:50:52
639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人