- 博客(98)
- 收藏
- 关注
原创 Flutter ListView的child是ListView,怎么写
最佳实践提示:在实际开发中,应尽量避免“ListView 嵌套 ListView”的同向结构,因为这会破坏 Flutter 的懒加载机制。如果你需要实现类似“头部固定 + 多个列表”或者“视差滚动”等复杂效果,且希望保持高性能(懒加载),建议使用。核心思路:由于滚动方向不同,通常不会发生滑动冲突,但内部 ListView 仍然需要确定高度或宽度。核心思路:禁用内部 ListView 的滚动功能,让其高度自适应内容。方案一:同向嵌套(垂直套垂直,或水平套水平)方案二:异向嵌套(垂直套水平,或水平套垂直)
2026-05-26 15:48:56
161
原创 Android ViewAnimator的用法
动画资源:确保在 res/anim 目录下定义了正确的补间动画(Tween Animation)资源,或者使用属性动画(Property Animation)时需通过 AnimatorInflater 加载并设置。可见性:虽然它是 FrameLayout 的子类,但它会管理子视图的可见性,确保只有当前活动的视图是 VISIBLE,其他视图通常为 INVISIBLE 或 GONE(具体取决于内部实现,但视觉上只显示一个)。android:inAnimation:设置视图进入屏幕时使用的动画资源。
2026-05-11 19:30:41
271
原创 Flutter 纯色矩形
在Flutter中,绘制一个纯色矩形可以通过多种方式实现,最常见的方法是使用。是最简单直接的方式。如果你需要更多定制(如圆角、边框等),则可以使用。如果你需要更多的控制(例如,绘制渐变或自定义形状),你可以使用。以上方法可以根据你的具体需求选择使用。对于更复杂的图形和自定义绘制,则可以使用。
2026-04-28 14:32:05
84
原创 vscode 调试控制台日志输出筛选器使用技巧
提示文字:筛选器(例如text、!excluse、\escape)1.支持多个文字检索,如输入:websocket,sse。2,.貌似不支持正则表达式。
2026-04-28 10:37:11
131
原创 vscode插件 Local History用法
VSCode 插件 Local History 用于在本地自动保存文件的修改历史,即使未使用 Git,也能快速恢复误删或误改的内容。写在前面:安装了Local History插件后,vscode左下角的时间线和LOCAL HISTORY里面均能对本地历史进行管理和操作。⚠️ 注意:若项目已使用 Git,建议将。,避免历史文件被纳入版本控制。二、查看与恢复历史版本。
2026-04-28 09:46:09
244
原创 Git版本控制中main和origin/main的区别
当你运行 git fetch origin 时,Git 会连接远程服务器,下载新的数据,并更新 origin/main 指针,使其指向远程仓库的最新提交。当你运行 git push origin main 时,Git 会将你本地 main 分支的提交上传到远程仓库,并更新远程的 main 分支。在 Git 中,main 和 origin/main 虽然名字相似,但它们代表了两个完全不同的概念:一个是本地分支,另一个是远程跟踪分支。main (本地) 就像是你自己的个人笔记本。
2026-04-22 14:50:12
320
原创 软件开发的架构设计中 分包、分模块的目的
综上所述,分包与分模块是一种通过结构化拆分来管理软件复杂性、提升工程效能的关键方法,其最终目的是使业务功能能够更清晰、更灵活、更稳健地得以实现与演进。分包与分模块的核心目的在于实现业务功能的解耦、优化与复用,以应对软件系统日益增长的复杂性。
2026-04-22 14:21:34
52
原创 Flutter ListView中的TextField布局有问题(例如,滚动时文本框消失)
shrinkWrap: true, // 如果内容超出屏幕大小,则缩小ListView的大小以适应内容。physics: ClampingScrollPhysics(), // 防止滚动超出边界。
2026-04-16 09:22:37
29
原创 Flutter SingleChildScrollView内部ListView滑动不了
在 Flutter 中,SingleChildScrollView 和 ListView 都具有滚动功能,当 ListView 嵌套在 SingleChildScrollView 中时,会导致滚动冲突,使得 ListView 无法正常滑动。在 ListView 中添加 physics: NeverScrollableScrollPhysics() 属性,这样可以防止 ListView 自身滚动,从而避免与 SingleChildScrollView 的滚动冲突。
2026-04-14 20:09:46
114
原创 Flutter中的圆角按钮实现方案
以上方法可以根据你的具体需求选择使用。如果你想要一个简单的边框,推荐使用。或者通过自定义样式来实现。如果你需要更复杂的布局控制,那么使用。是一个自带边框的按钮,你可以通过修改它的样式来改变边框颜色。是一个用于显示文本的按钮,它默认是没有边框的。如果你想要更复杂的布局或者完全控制按钮的外观,你可以将。添加边框或者改变边框颜色,你可以使用。但仍然想要边框,你可以自定义。如果你想要一个不带背景色的。在Flutter中,
2026-04-13 11:45:22
131
原创 Flutter 宽度充满屏幕的按钮
如果你想要按钮的宽度能够根据屏幕方向变化(例如,在横屏和竖屏之间变化),可以使用。在Flutter中,创建宽度充满屏幕的按钮非常简单。如果你想要一个按钮占据屏幕的特定比例(例如50%),可以使用。选择适合你需求的方法。通常,在大多数情况下,使用。来获取屏幕的宽度,并设置为按钮的宽度。这种方法适用于任何布局,你可以使用。来让按钮宽度充满可用空间。(适用于特定比例的宽度)(适用于动态宽度变化)会是简单且有效的方式。
2026-04-02 19:34:39
70
原创 Flutter UI图标点击事件
这两种方法都可以用来处理触摸事件,比如点击。以上就是在Flutter中为图标添加点击事件的两种基本方法。选择哪一种取决于你的具体需求和偏好。在Flutter中,为UI元素(如图标)添加点击事件非常简单。是一个非常灵活的组件,它可以用来检测多种手势事件,包括点击(tap)。也是一个常用于处理点击事件的组件,它经常与。一起使用来提供水波纹效果和点击反馈。
2026-04-02 15:44:59
57
原创 vs code 使用Git拉取/克隆(clone)仓库项目
命令来克隆一个 Git 仓库是一个非常直接的过程。在 Visual Studio Code (VS Code) 中使用。方法 3:使用 Source Control 视图。以上任何一种方法都可以在 VS Code 中使用。来克隆一个 Git 仓库。方法 1:使用命令面板。
2026-04-02 09:15:02
949
原创 Flutter gen使用
Flutter Gen 是一个用于 Flutter 项目的代码生成工具,可自动管理图片、字体、颜色等资源,避免手动使用字符串路径,提升类型安全性和开发效率。
2026-04-01 15:00:47
183
原创 Flutter项目目录结构
在Flutter项目中,正确的目录结构对于项目的可维护性和扩展性至关重要。一个良好的目录结构可以帮助团队成员更好地理解和协作。通过遵循上述结构和最佳实践,你可以创建一个结构清晰、易于维护的Flutter项目。
2026-04-01 14:38:57
188
原创 vscode 创建flutter项目
在Visual Studio Code (VSCode) 中创建一个 Flutter 项目,你需要先确保你已经安装了 Flutter SDK 和 Dart 插件。或者,在 VSCode 中,你可以直接点击侧边栏的“运行和调试”按钮(通常显示为一个绿色的三角形),然后选择一个设备或模拟器来运行你的应用。打开你的项目文件夹,确保 Flutter 和 Dart 插件正确加载项目。这会在 VSCode 中打开你的 Flutter 项目。是你的项目名称,你可以替换成你想要的任何名字。来关闭项目文件夹,然后重新通过。
2026-03-26 11:05:55
321
原创 Flutter开发环境vs code语法报错波浪线关闭
波浪线关闭后,报错就不提示了。虽然可以关闭,但试验后还是重新打开了。其实正常写代码的话,也没有那么多波浪线了,我昨天被很多波浪线烦到,是因为语法的小括号写成大括号了,造成全部报波浪线(新手刚开始搞Flutter,哈哈)。折腾了半天,虽然又回到了设置的原点,但是知道是怎么设置了,心里有底了,后续就游刃有余了。悬浮提示,改为3000ms后显示,但是代码报错时想看提示,也得等3秒,所以又改回来了。波浪线关闭 注释鼠标悬浮提示 这两个比较难受。
2026-03-24 19:51:15
39
原创 Android Studio build报错\.gradle\.tmp\gradle10044997010702482683.bin 不存在
直接删除工程目录和项目目录下的build文件,然后重启as,就不报错了。
2026-03-24 19:42:12
29
原创 Flutter开发环境vs code报错
什么解压异常,头为空。其实原因是Android目录下的gradle版本没有下载到本地造成的。解压那个异常,大部分原因就是gradle的问题。
2026-03-24 19:39:37
72
原创 Java 在子类继承父类的场景下,子类构造函数和成员变量的执行顺序问题分析
构造函数内部的运行,并不是里面的代码执行完才会跳出来去执行其他。而是执行了隐式调用父类的构造方法后,先去执行了成员变量的赋值,即执行点5,再去执行构造函数内的执行点6。其实是进到执行点2内部了,但由于隐式执行了父类(Object)的构造方法后,再执行执行点3,然后再执行执行点4。而不是执行完执行点4再执行的执行点3。关于执行点2,可以理解为需要执行构造函数时,会先执行执行点3,然后再执行执行点4。执行点1到执行点6标识了程序的运行顺序。而对于父类的构造函数执行,
2026-01-22 10:53:30
126
原创 kotlin中 ?:的用法
进阶技巧和注意事项包括: 右侧表达式可以是任何合法表达式,包括函数调用或复杂逻辑,且支持延迟计算。使用时需注意避免在右侧表达式中引入不必要的副作用,并合理使用括号处理优先级问题。操作符被称为Elvis操作符,它用于处理可空类型的值,提供一种简洁的方式来指定当左侧表达式为。)结合使用,以避免NullPointerException,并提供默认值。类型推断方面,编译器会自动推断两侧类型的共同父类型。Elvis操作符的基本语法和执行逻辑是: 表达式。的执行逻辑如下:如果表达式。,则整个表达式的值就是。
2026-01-12 14:17:47
411
原创 Excel筛选后标题行不出来怎么办
将标题行和全部数据全中(可采用左上角选择全部表格数据,然后Ctrl键+鼠标去掉不需要选中的行),然后再点开始-数据处理-筛选,则标题行作为筛选项正常显示了。
2026-01-05 20:29:54
343
原创 Android Studio制作.9图(点9图/9Patch图)
图片导入到drawable中,右键->Create 9-patch file。拉伸区域为多处时,鼠标放图边缘,出现线时,拖动来生成新的控制区域。鼠标放到9-Patch图上,出现现,拖动线来实现想要的效果。上、左是拉伸区域,右、下是显示区域。
2025-10-13 17:22:00
588
原创 Android Studio Navigatge Back Forward箭头不见了怎么添加
然后as界面中顶部File-Settings,然后Menus and ToolBars-Main Toolbar,可编辑功能项。as界面中顶部View-Appearance,选中ToolBar。
2025-09-08 10:34:27
198
原创 Android Studio LogCat中Log日志进行正则表达式匹配过滤
方案1:直接输入正则表达式,如:方案二:在 Android Studio Logcat 中,可以通过正则表达式进行日志过滤,主要支持tagpackagemessage和line字段的正则匹配。
2025-09-04 11:54:35
960
原创 Android Studio 利用工具检查未被使用的字符串
选择 Refactor > Remove Unused Resources。1. 动态引用的字符串(如通过getIdentifier()获取的)可能被误判。- 在项目中全局搜索字符串资源名(如R.string.xxx)- 输入"Unused resources"并运行检查。- 这将列出项目中所有未被使用的资源,包括字符串。- 右键点击项目中的strings.xml文件。2. 某些库中引用的字符串也会被标记为未使用。- 这会自动检测并移除未使用的字符串。- 可以更直观地显示未使用的资源。
2025-08-06 15:22:35
529
原创 kotlin中集合的用法
修改说明:将List改为MutableList,并使用val代替var(如果不需要重新赋值)。List<AIP0200> 是Kotlin中的不可变集合接口,不能直接调用add()方法修改。应该使用MutableList<AIP0200>作为可变列表的类型声明。重点:Kotlin推荐优先使用不可变集合和val声明。以下kotlin中代码语法正确吗。
2025-07-10 15:30:17
383
原创 kotlin中::class.java的意义
在 Kotlin 中,是用于获取Class的表达式,其核心作用与 Java 中的.class语法等价,但需结合 Kotlin 的反射特性理解。
2025-06-26 19:40:22
689
原创 androidx中<layout>根布局的意义及用法
在 Android 开发中,<layout>根布局是的核心组件,用于声明该 XML 布局文件将使用数据绑定功能。
2025-06-26 11:23:16
1132
原创 Android ConstraintLayout的常见用法
ConstraintLayout 是 Android 中功能强大的扁平化布局容器,主要通过设置控件之间的来定位和确定大小。
2025-06-26 11:19:59
1108
原创 kotlin中object:的用法
在Kotlin中,用于声明(Anonymous Object),这是实现接口或继承类的轻量级方式,无需显式定义具名类。
2025-06-25 11:14:05
527
原创 this::和this.的区别
特性this.操作类型直接访问/调用获取成员引用对象执行时机立即执行延迟执行(通过引用调用时触发)典型用途常规成员访问高阶函数参数、反射、回调绑定歧义处理解决同名变量冲突显式绑定当前对象上下文• this.→ 直接拿东西用(如this.value• this::→ 拿东西的“地址”备用(如可传递给其他函数)
2025-06-25 10:53:37
450
原创 com.google.android.material.tabs.TabLayout的属性及用法
是 Android Material Design 中的选项卡组件,支持丰富的自定义属性。
2025-06-25 09:39:46
929
原创 散列表(哈希表)的查找方式
在散列表(哈希表)中,查找过程是通过哈希函数将关键字映射到一个位置,然后在这个位置上进行查找。哈希函数的设计通常是将关键字转换为一个整数,这个整数对应于数组中的一个位置。查找时,只需要与该位置上的关键字进行比较,而不需要与同义词进行比较1。链地址法:当发生冲突时,将所有冲突的关键字存储在一个链表中,每个位置上存储一个链表的头指针。综上所述,散列表的查找过程主要是通过哈希函数定位并比较关键字,而不是与同义词进行比较。比较:在该位置上查找关键字,如果找到则查找成功,否则发生冲突。
2024-11-04 10:07:02
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅