An Introduction to Flutter Advanced Widgets

 
Today we are going to learn flutter advanced widgets for our flutter apps. In previous posts, I already showed different types of flutter widgets like Basic, Material, Cupertino, Layout, Scrolling, Animation. Now you can use other advanced widgets in your flutter app through this article.

 
 

AbsorbPointer

A widget that absorbs the signal during hit testing. When absorbing is correct, this widget prevents its subtree from receiving pointer events by eliminating hit testing on itself. It still takes place during layout and paints your child as usual. This just prevents their children from being the target of the events located, as this is true from RenderBox.hitTest.

AssetBundle

Asset bundles contain resources such as pictures and strings, which can be used by an application. Access to these resources is asynchronous so that they can be transparently loaded onto a network (eg, from NetworkAssetBundle) or from the local file system without blocking the application’s user interface.

BackdropFilter

A widget that applies a filter to an existing painted content and then paints the child. This effect is relatively expensive, especially if the filter is non-local, such as smear.

ClipOval

A widget that clips its child using an ellipse.

ClipPath

A widget that clips its child using a path.

ClipRect

A widget that clips its child using a rectangle.

CustomPaint

A widget that provides a canvas on which to draw during the paint phase.

DecoratedBox

A widget that paints a decoration before or after painting your child.

DefaultTextStyle

Text style applies to descendant text widgets without explicit style.

Dismissible

A widget that can be rejected by dragging in the indicated direction. Dragging or fling this widget in DismissDirection causes the child to be out of view. Following the slide animation, if the resizeDuration is non-zero, the Dismissible widget animates its height (or width, whichever is vertical in the direction of dismiss) to zero on the resizeDuration.

Draggable

A widget that can be pulled from DragTarget. When a draggable widget recognizes the start of a drag gesture, it displays a feedback widget that tracks the user’s finger on the screen. If the user raises his finger on top of the dragturge, that target is given the opportunity to accept the data carried by the draggable.

DragTarget

A widget that receives data when a draggable widget is dropped. When a draggable is dragged over the top of a drag target, the drag target is asked if the draggable will accept the carrying data. If the user leaves the drag target above the drag target (and the drag target has indicated that it will accept the draggable’s data), the drag target is asked to accept the draggable’s data.

ExcludeSemantics

A widget that drops all semantics of its lineage. This can be used to hide sub-budgets that would otherwise be reported but would only be confusing. For example, the content component hides the chip widget avatar because it is redundant with the chip label.  

Form

An optional container for grouping multiple form area widgets (such as TextField widgets) together.

FormField

A single form field. This widget maintains the current state of the form field, so that updates and validation errors are visible in the UI.

FractionalTranslation

A widget that implements a translation expressed as a fraction of the size of a box before painting its child.

FutureBuilder

Widget that builds itself based on the latest snapshot of interactions with the future.

GestureDetector

A widget that detects gestures. Attempts to recognize gestures that correspond to its non-zero callbacks. If there is a child in this widget, it affects that child for his or her behavior. If it has no children, it grows to fit the parents.

IgnorePointer

A widget that is invisible during hit testing. When veracity is ignored, this widget (and its subtitles) is invisible for hit testing. It still takes place during layout and paints your child as usual. This cannot be the target of just-located events, as this is incorrect from RenderBox.hitTest.

LongPressDraggable

Makes your child start with a long press.

MergeSemantics

A widget that combines the semantics of its descendants.  

MediaQuery

Establishes a subtree in which the media query resolves the given data.

Navigator

A widget that manages a set of child widgets with stack discipline. Many apps have a navigator near the top of their widget hierarchy to visually display their logical history using an overlay with visually recently viewed pages on top of older pages. The use of this pattern allows navigators to visually transition from one page to another by moving the flutter advanced widgets in the overlay. Similarly, the navigator can be used to show the dialog by positioning the dialog widget above the current page.

Opacity

A widget that makes its child partially transparent.

RawKeyboardListener

A widget that calls a callback when the user presses or releases a key on the keyboard.

RichText

The Rich Text Widget displays text that uses many different styles. The displayed text is described using a tree of TextSpan objects, each of which has an associated style used for that subtree. Text may break into multiple lines or all may appear in a single line depending on the lack of layout.

RotatedBox

A widget that turns your child into quarters.

Semantics

A widget that annotates the widget tree with a description of the widget’s meaning. Accessibility tools, search engines, and other semantic analysis software are used to determine the meaning of the application.  

StreamBuilder

Widget that creates itself based on the latest snapshot of interaction with a stream.  

Theme

A theme applies to descendant widgets. A topic describes the color and typographic options of an application. 

Transform

A widget that implements a change before painting its child.

Leave a Reply