Flutter SDK-iOS角度的InheritedWidget。

Flutter为移动开发人员带来了一个了不起的工具,使您感到生活艰难,起初我感到不堪重负,但是当我开始学习Flutter时,我对它的简单性感到非常高兴,甚至还没有与ReactNative相比。任何时候,我的思想都开始思考Flutter的可能性和未来,我被介绍给InheritedWidget,Flutter中当然还有许多其他概念,但今天我想从iOS角度谈谈InheritedWidget。 那么,InheritedWidget到底是什么? Flutter InheritedWidget可以被视为iOS中的Protocol类,但通过更强大的操作,它是将对象和方法传递给FlutterApp中的多个类的一种方式。 顶部的绿色圆圈是我们的InheritedWidget, 它 是扩展InheritedWidget 的 类 。 在上面的示例中,我们希望将我们创建的BaseAuth对象传递给将成为子Widget一部分的所有子代。 在上面的示例中,我们的BaseAuth抽象,接口或协议将其命名为您喜欢的东西,然后我们的Auth类实现了BaseAuth。 那么这些东西如何工作? 基本上,这就是我们如何让MaterialApp及其下的所有内容(例如RootPage)利用我们的BaseAuth函数的优势,但是我们应该怎么做才能访问这些函数? 在didChangeDependencies()中,我们设置了一个名为auth的新变量,这是我们的AuthProvider类。 这是在我们的应用程序的类之间传递值或函数的一种方式。 FlutterSDK使移动应用程序的开发变得更加容易,并且有助于更快地完成工作,我认为这将改变开发人员对跨平台开发的看法。 感谢您的阅读。

使用Flutter绘制和构建自定义的日历小部件

关于构建日历小部件以允许BSS的员工提交休假申请的时间段,我使用了CustomPainter和GestureDetector使其成为现实。 这是我的CustomCalendar类,我们需要传递一个回调以接收用户已选择的时间段,以及一个Offset列表以保存所选位置,需要从外部传递它以便在CustomCalendar自身保持状态时传递重新渲染。 nameOfEndDay:当前月份的最后一天,以int格式表示。 通过一个非常有用的dart包(https://pub.dartlang.org/packages/date_utils)实现 startDayIndex:日历小部件中出现的第一天的索引,已用于将这一天放在第一行的正确位置。 painter:用来帮助您绘制窗口小部件UI的CustomPainter对象。 touch: GestureDetector对象,用于识别用户的手势,例如轻按,捏合(实际上,此小部件仅在本文^ _ ^时支持轻按手势) Painter类在CustomCalendar小部件中起着重要作用 在此类的构造方法中,我们将初始化一些Paint对象以在paint方法中绘制边框和形状,本文稍后将对此进行详细说明。 要绘制一条线,我们需要传递2个参数strokeWidth和strokeCap来分别描述绘制边缘的宽度和放置在行尾的修整类型。 要绘制形状(在这种情况下为矩形),我们需要将样式定义为PaintingStyle.fill,因为此对象将使用给定的颜色填充特定区域 Painter({ this .nameOfEndDay, this…