79.1 Introducing DioAs mentioned in the previous section, directly using HttpClient to make network requests can be cumbersome, as many aspects require manual handling. When it comes to file uploads/d···
In this section, we will introduce how to draw text and perform off-screen rendering by implementing a watermark component.In practical scenarios, watermarks usually need to cover the entire screen. I···
In this section, we will implement a circular background gradient progress bar with the following features:Support for multiple background gradient colors.Arbitrary arc angles; the progress bar does n···
Implementing a TurnBox Component in FlutterWe have previously introduced the RotatedBox, which can rotate its child components, but it has two drawbacks: first, it can only rotate its child nodes in m···
Composing UI Components in FlutterIn Flutter, page UIs are typically composed of low-level components. When we need to encapsulate some common components, we should first consider whether we can achie···
65.1 Implementing Custom Hero AnimationFor example, we have a profile picture component that initially displays a small circular image. We want to implement a feature that allows users to click and vi···
63.1 Basic Structure of AnimationIn Flutter, animations can be implemented in various ways. Below, we will demonstrate the differences between different animation implementations in Flutter using an e···
Notifications are an important mechanism in Flutter. In the widget tree, each node can dispatch notifications, which propagate upward through the current node, allowing all parent nodes to listen to t···
59.1 Principles of Gesture RecognitionGesture recognition and handling occur during the event dispatch phase. GestureDetector is a StatelessWidget that contains RawGestureDetector. Let’s take a look ···
57.1 GestureDetectorThis section introduces the GestureDetector and GestureRecognizer used in Flutter to handle gestures, followed by a detailed discussion on gesture competition and conflict.GestureD···