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···
Many times, we rely on asynchronous data to dynamically update the UI. For example, when opening a page, we might need to fetch data from the internet first. During this data retrieval, we display a l···
52.1 ColorsBefore introducing themes, let’s first take a look at the Color class in Flutter. Colors in the Color class are represented as an int value. We know that the color on a display is composed···
50.1 InheritedWidgetFirst, we will introduce the InheritedWidget component and then focus on the relationship between the didChangeDependencies callback in the State class and the InheritedWidget.1. I···