自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android常用组件:空布局empty_view,占位图封装

编码不易啊,最后附上源码地址:https://github.com/liyanfei250/EmptyView.git。最近在做一件费劲不讨好的事情,那就是把项目中无关业务的代码功能模块抽出来,供以后使用。既然费劲心机,不妨分享出来,大家可以一块学习借鉴。

2023-08-28 08:30:00 346

原创 flutter和原生利用pigeon建立通道

注意打开这个代码注释:意思是在你Android项目的某个路径下生成SGFlutterBridge文件。按理来说这个GetxController类是用来访问网络的类,这里用来和原生交互,就这样子。以上操作就把两个项目关联在一起了。最近工作忙,加班重,疏于思考,缺乏输出,望大家理解,有时间优化文章,敬请期待!接着可以运行下:flutter pub get 的命令。

2023-08-27 16:22:34 917

原创 flutter使用Chanel与原生通信

遇到些特殊的需求,会更麻烦,比如我们这种做法:需要在原生端获取网络数据,去请求接口,然后把数据传递给flutter,而一开始请求哪个接口,传哪些参数又需要flutter传给原生,Android和ios两端去实现。最后执行,flutter跳转FlutterToAndroidActivity成功,flutter成功调用原生Android的方法。所以在项目中我们用到了pigeon的插件,这样就不用写太多的代码,通信的过程pigeon会帮你自动生成,可以看我下一篇文章实践!对于Android平台,可以在。

2023-08-27 16:21:29 694

原创 flutter自定义系列之自定义时钟界面的绘制

我们使用了Transform.translate来实现视图的移动效果。每次更新价格数据时,offsetX将减去一个固定值(例如2),从而使视图向左移动。现在运行你的应用程序,你将看到一个动态价格线,并且视图会自动向左移动以始终显示最新的绘制线。

2023-06-16 10:01:00 291

原创 Flutter自定义系列之折线波动图,心率图,价格走势图

我们使用了Transform.translate来实现视图的移动效果。每次更新价格数据时,offsetX将减去一个固定值(例如2),从而使视图向左移动。现在运行你的应用程序,你将看到一个动态价格线,并且视图会自动向左移动以始终显示最新的绘制线。

2023-06-13 07:41:08 1462

原创 flutter自定义系列之简单的K线图绘制

可左右滑动,可伸缩,仅包含基本功能,真正的需要分时图,各种的指标,甚至是自定义的指标绘制等等,你可以根据需求进一步完善和优化。技术人日拱一卒,共勉!

2023-06-12 08:58:26 1170

原创 flutter的自定义系列雷达图

通常,如果画笔的属性或者绘制数据发生改变时,需要返回。是一个Widget,它可以作为其他组件的子组件,用于提供自定义绘制的功能。根据需要,还可以在自定义绘制中添加动画和手势支持。类,我们实现了绘制雷达背景、雷达数据和数值文本的功能。接下来,需要创建自定义的画笔类。对象提供了各种绘制方法,如绘制线、矩形、圆、文本等;总结一下,Flutter中的自定义绘制主要是通过创建。在Flutter中,自定义绘制通常是通过使用。组件,可以自定义边的数量和每个角上的数值。方法中,可以实现自定义的绘制逻辑。

2023-06-09 12:22:57 941

原创 getx的使用场景,详细举例

Getx的状态管理功能可以帮助我们更加方便地管理Flutter应用程序中的状态,从而提高开发效率和代码质量。

2023-05-18 08:46:34 2208

原创 flutter开发中有哪些类似以上提高性能的细节判断和处理

flutter开发中有哪些类似以上提高性能的细节判断和处理

2023-05-16 08:29:13 294

原创 InkWell 和GestureDetector有啥区别

GestureDetector在处理手势时,需要对事件进行多级传递,嵌套过多会导致事件传递的时间变长,从而影响到用户的点击体验。可以考虑将GestureDetector的父组件Container改为InkWell,它也可以处理点击事件,并且不需要进行多级传递。

2023-05-15 15:26:46 499

原创 flutter开发中有哪些技巧

这些是Flutter开发中的一些技巧,可以让我们的开发过程更加轻松和高效。有追求的可以收藏学习下!欢迎补充。最后!当你害怕跳的时候,就是你最应该跳的时候,不然你就永远不会跳。共勉之

2023-05-15 15:26:03 562

原创 flutter中listview嵌套column有啥注意的

在 Flutter 中, ListView 嵌套Column 也是一种常见的布局方式。但是在使用这种布局方式时,需要注意以下几点:

2023-05-13 08:38:03 840

原创 flutter中column中嵌套listview有啥注意的

下面是一个示例代码,展示如何在 Flutter 中实现嵌套。组件来使中间部分的子组件占据剩余空间,并设置了一个高度为。的布局比较常见,但需要注意上述几点细节。在上面的示例代码中,我们创建了一个。在 Flutter 中,将。组件,它包含了一个嵌套的。参数来设置滚动方向为横向。在 Flutter 中实现。的顶部标题栏和底部页脚。

2023-05-12 08:26:53 1810

原创 flutter 中空Widget怎么表示

使用空 Widget 时,更应该考虑的是使用场景和需要的属性.如果你需要一个空的容器,并且需要设置一些属性,比如颜色、边框等,那么使用 Container() 更为方便。

2023-05-11 09:30:28 543

原创 flutter中setState方法之后怎么重新初始化TabController

在Flutter中,当你使用setState方法更新Widget时,Widget的状态会被刷新,但是TabController并不会被重新初始化。如果你想重新初始化TabController,你可以在setState方法中创建一个新的TabController对象并将其赋值给TabBarView

2023-05-11 09:28:27 810

原创 flutter事件分发涉及到哪些优化策略

这些细节和优化对于提高应用的性能和响应速度非常重要。

2023-04-24 18:52:22 122

原创 flutter的事件分发机制简单总结

事件分发的过程是非常复杂的,它涉及到许多细节和优化,例如事件缓存、事件模拟、事件合并等,这些细节和优化对于提高应用的性能和响应速度非常重要。

2023-04-24 18:50:53 862

原创 flutter中ListView.builder的源码分析

在使用ListView.custom时,需要注意控件的参数设置和性能优化,以提高应用程序的性能和用户体验。总之,ListView.builder是Flutter中常用的控件之一,通过ListView.custom和SliverChildBuilderDelegate来创建具有大量数据的列表视图。为了提高ListView.builder的性能和用户体验,需要开发者们根据具体应用场景,选择合适的性能优化技巧,从而避免出现卡顿和性能问题,提高应用程序的质量和稳定性。

2023-04-24 18:50:13 1192

原创 flutter中的future是什么?

在上面的示例中,我们创建了一个StreamController对象,并使用add方法将三个数据添加到Stream中。Future.wait接受一个Future对象列表作为参数,返回一个新的Future对象,它会在所有给定的Future对象都完成之后完成。在上面的示例中,我们创建了一个包含三个Future对象的列表,每个Future对象都会在不同的时间返回一个字符串。Future.any接受一个Future对象列表作为参数,返回一个新的Future对象,它会在给定的Future对象中有任何一个完成时完成。

2023-04-24 18:49:12 1224

原创 Flutter面试中常问到的问题

注意,这些问题只是作为参考,实际面试中可能会根据公司和职位的不同而有所不同。前10个带答案,后面的我再慢慢补充。因此,建议根据自己的经验和技能,对这些问题进行更深入的学习和理解,以便在面试中更好地回答问题。同时,也要注意在回答问题时,注重表达清晰、简洁、准确,让面试官对你的能力和技术水平有一个清晰的了解。

2023-04-18 10:28:07 2207

原创 flutter内存泄漏常见分析

在使用一些控制器(如AnimationController、TextEditingController等)时,需要在不需要时及时释放控制器,从而避免内存泄漏。在上面的例子中,使用StreamSubscription.cancel方法取消订阅,并使用StreamController.close方法关闭流。在使用定时器(如Timer、Animation等)时,需要在不需要时及时释放定时器,从而避免内存泄漏。在使用Stream时,需要在不需要时及时取消订阅Stream,从而避免内存泄漏。

2023-04-18 10:26:52 923 2

原创 flutter性能优化大全

Flutter的性能优化技巧包括减少Widget重建、避免过多的UI重绘、优化图片加载、避免过多的网络请求、优化布局、使用异步操作、避免过多的内存使用、使用热重载等。综上所述,避免过多的内存使用是Flutter中的一个重要性能优化技巧,可以通过避免不必要的对象创建、使用图片压缩、及时释放无用资源、使用缓存技术等方法来实现。需要根据实际开发场景选择和应用。综上所述,避免过多的网络请求是Flutter中的一个重要性能优化技巧,可以通过使用缓存技术、减少请求次数、合并请求、使用WebSocket等方法来实现。

2023-04-18 10:26:13 3360

原创 flutter之State生命周期

当这些依赖对象发生变化时,didChangeDependencies方法就会被调用,我们可以在这个方法中获取新的依赖对象并更新状态,以保持UI的正确性和一致性。在State对象的整个生命周期中,其生命周期状态会随着不同的事件发生而改变,而_created状态表示State对象已经被创建。在这个方法中,我们通常可以更新一些状态和数据,并触发UI的重新构建。在State对象的整个生命周期中,其生命周期状态会随着不同的事件发生而改变,而_created状态表示State对象已经被创建。

2023-04-18 10:25:24 424

原创 flutter之StatefulWidget和StatelessWidget区分详解

StatelessWidget和StatefulWidget都是Flutter中非常重要的概念。我们需要根据具体情况选择使用哪种Widget,并在使用时注意一些细节,以确保UI的正确性和性能。

2023-04-18 10:18:46 500

原创 flutter生命周期详细源码分析

了解Flutter的生命周期是非常重要的,可以帮助我们更好地管理应用程序的状态和资源,以确保应用程序的高效性和稳定性。

2023-04-18 10:17:29 119

原创 flutter的setState详细分析以及性能优化

总之,setState()方法是Flutter中非常重要的一个方法,它允许我们在widget中更新状态,并在下一帧中重新构建widget子树,从而实现高效的UI更新。总之,setState()方法是Flutter中非常重要的一个方法,它允许我们在widget中更新状态,并在下一帧中重新构建widget子树,从而实现高效的UI更新。总之,setState()方法是Flutter中非常重要的一个方法,它允许我们在widget中更新状态,并在下一帧中重新构建widget子树,从而实现高效的UI更新。

2023-04-18 10:15:40 2218

原创 flutter数量计步器源码分析

在使用该组件时,需要传入一些必要的参数,包括最小值、最大值、步长、初始值和一个回调函数,用于处理数值变化事件。根据传入的样式类型,该组件会渲染出不同的界面,并且在用户点击增减按钮或者输入框中输入数值时,会根据步长和边界条件计算出新的数值,并且通过回调函数将新的数值传递给父组件进行处理。在该组件的构造函数中,我们传入了一些必要的参数,包括最小值、最大值、步长、初始值、颜色、样式类型等,并且定义了一个回调函数 block,用于处理数值变化事件。同时,使用了setState方法来更新界面上的数值和按钮状态。

2023-04-18 10:14:26 310

原创 flutter源码StatefulElement分析

总的来说,StatefulElement类的_firstBuild方法主要完成了StatefulElement的初始化和准备工作,包括调用State对象的initState方法和didChangeDependencies方法,并将State对象的生命周期状态设置为initialized和ready。接着,它更新了State对象的widget属性,并在新旧widget不相同时调用State对象的didUpdateWidget方法,这个方法会在新旧widget不相同时被调用,用于处理widget的变化。

2023-04-18 10:07:57 319

原创 chatGPT帮我写了三个平台的代码,还不止

只有你想不到,没有他做不到!

2023-04-17 17:28:16 105

转载 给初学者的RxJava2.0教程(七)

前言上一节里我们学习了只使用Observable如何去解决上下游流速不均衡的问题, 之所以学习这个是因为Observable还是有很多它使用的场景, 有些朋友自从听说了Flowable之后就觉得Flowable能解决任何问题, 甚至有抛弃Observable这种想法, 这是万万不可的, 它们都有各自的优势和不足.在这一节里我们先来学习如何使用Flowable, 它东西比较多

2017-04-10 15:24:05 538

转载 给初学者的RxJava2.0教程(六)

如果这都觉得懵逼!还是调头看看之前的系列:RxJava2.0教程(一) http://mp.weixin.qq.com/s/Nr9kxDR2hRWvfqHUdDF-XARxJava2.0教程(二)https://mp.weixin.qq.com/s/S-sSWOcd408BtIC7Z7yN8gRxJava2.0教程(三)http://mp.weixi

2017-04-07 15:10:20 307

转载 给初学者的RxJava2.0教程(五)

如果这都不爽,可以看公众号系列:RxJava2.0教程(一) http://mp.weixin.qq.com/s/Nr9kxDR2hRWvfqHUdDF-XARxJava2.0教程(二)https://mp.weixin.qq.com/s/S-sSWOcd408BtIC7Z7yN8gRxJava2.0教程(三)http://mp.weixin.qq.

2017-04-05 18:19:15 470

转载 给初学者的RxJava2.0教程(四)

前言在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带大家学习zip这个操作符, 这个操作符也是比较牛逼的东西了, 涉及到的东西也比较多, 主要是一些细节上的东西太多, 通过学习这个操作符,可以为我们下一节的Backpressure 做个铺垫.

2017-03-28 19:25:19 409

转载 给初学者的RxJava2.0教程(三)

前言上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册, 等注册成功之后再自动登录该怎么做呢.很明显, 这是一个嵌套的网络请求, 首先需要去请求注册, 待注册成功回调了再去请求登录的接口.我们当然可以想当然的写成这样: private void login() {

2017-03-27 13:29:27 415

转载 给初学者的RxJava2.0教程(二)

前言上一节教程讲解了最基本的RxJava2的使用, 在本节中, 我们将学习RxJava强大的线程控制.正题还是以之前的例子, 两根水管:RxJava正常情况下, 上游和下游是工作在同一个线程中的, 也就是说上游在哪个线程发事件, 下游就在哪个线程接收事件.怎么去理解呢, 以Android为例, 一个Activity的所有动作默认都是在主线

2017-03-23 16:49:21 287

转载 给初学者的RxJava2.0教程(一)

前言RxJava2时间也不短了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。注:如果你觉得写得不好,请直接批评指出。我先回答这个问题:学习RxJava2需

2017-03-22 17:28:29 500

原创 从listView到RecyclerView,实战带你顺利爬坑

— 从入门到放弃,我想说的是,我不是那样的人,这个逼,我要装下去! listView的相关认知,学习,我们也讲了不少了,要学习的可以 点这里 接下来,我想接着走完RecyclerView,让我们在对比实践中学习吧,毕竟它们相似相杀;首先,我们来看看他们运用上最大的区别: 熟悉RecyclerView的人早已经理解了,不熟悉的也早就听说了,RecyclerView相对于listView的最明显的

2017-03-16 10:22:44 304

原创 listView之item点击失效,长按消失了的问题

首先说下问题的场景 当listview中的item会遇到不停刷新的时候;有的时候会有这样子的需求,比如当列表的每项都会刷新变数据的时候,(股票类实时交易的软件可能会用到,长链接就是这个时候用,然后界面不停的接收传过来的数据,导致界面实时刷新),问题就出现了:当界面每个item刷新的时候,你的点击或者长按事件会消失,点击还好,触摸时间不会很长,但是长按就不行了,当你还处在按下的状态的时候状态

2017-03-09 11:58:25 627

原创 listVeiw之adapter使用优化及item选中状态的处理

要给listView设置列表数据需要掌握adapter的使用,这也是最基本的用法,初次之外的好多面试中曾被问到这样的问题:你可以说说listView的优化吗?相信不少被问到,今天我们就来解决下这个问题;好了直接上代码:继承BaseAdapter来使用ListView以下是继承之后需要实现的方法,我们来具体看看每个方法的作用getCount() 用来获取数据源中的数据对象个数 @Over

2017-03-06 14:59:31 905

原创 listview的又一次认识

总结先从listview开始吧,觉的listview是大多数人进入android的第一课,如果你也有心,我们可以一起探讨; - ### 继承的关系可以打开以下链接看看 https://developer.android.com/reference/android/widget/ListView.html 没有耐心的人还是直接看下面吧 - ### 属性介绍android:divider//在列

2017-02-24 14:33:07 372

serviceTest

作为四大组件之一的Service类,是面试和笔试的必备关卡,我把我所学到的东西总结了一遍,相信你看了之后你会对Service娓娓道来,在以后遇到Service的问题胸有成竹,废话不多说,开车啦

2016-12-10

跳转界面,引导页面

动画,引导界面的实现,还有fragment的简单切换

2015-08-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除