Feathers Features (Starling version)
Feathers is an open source library of user interface components for Starling and Adobe AIR. Let's take a look at some of what Feathers has to offer.
Overview
Dozens of user interface components for apps and games.
Hardware-accelerated graphics.
Target iOS, Android, Windows, macOS, and Android TV.
Built on top of Starling Framework and Adobe AIR.
Backed by Adobe and the community.
Cross Platform
Create user interfaces for desktop, mobile, and smart TV apps.
Easy to scale your app for different screen dimensions and densities with
ScreenDensityScaleFactorManager
.Support for fluid layouts (using anchors and percentages) that fit to a wide variety of screen sizes.
Choose between scrolling with touch physics including elastic, springy edges or traditional desktop scroll bars and the mouse scroll wheel.
Support for keyboard focus navigation using the tab key, with the ability to disable focus on individual components or children of specific container. Includes full control over focus order.
Skinning
All components may be skinned using regular Starling display objects, like
Image
orQuad
.Resizable skins using
scale9Grid
andtileGrid
.Strictly-typed properties for all skins and properties that affect visual styling. No vague
getStyle()
orsetStyle()
look-ups with string keys.ImageSkin
can change color and texture when a component's state changes.Supports themes that separate all skinning code from the application logic.
Robust Architecture
Invalidation. Queues property changes until Starling render phase to maximize performance.
Easy to understand for anyone familiar with Apache Flex or the AS3 components from Adobe Animate CC.
If no width or height is provided, components will resize themselves automatically based on their skins or their sub-components.
Factories and interfaces allow you to customize sub-components. For instance, select the type of sub-component best suited for phone, tablet, or desktop.
Choice of text rendering between bitmap fonts or vector fonts drawn to textures. Vector fonts may be rendered with either
flash.text.TextField
or Flash Text Engine.
Containers
Several built-in layouts, and support for custom layouts.
LayoutGroup
is a lightweight Feathers container with support for layouts.ScrollContainer
supports scrolling and layouts.Panel
supports a header and an optional footer, in addition to scrolling and layouts.Drawers
provides slide-out drawers to display menus and other actions.
Lists
The
List
component supports displaying a data provider using item renderers inside a scrollable container.Support for hierarchical data using
Tree
andGroupedList
.Display a table of data using the
DataGrid
component.PickerList
supports displaying a list as a pop-up triggered by aButton
.Several built-in layouts, including
VerticalLayout
,HorizontalLayout
, andTiledRowsLayout
.Support for custom layouts.
Layout virtualization for improved performance (creates and reuses renderers only for visible data).
Support for selecting an item, including optional multiple selection.
A robust default item renderer with up to three sub-views with full control over how they are positioned relative to each other.
Support for custom item renderers.
Variable item renderer dimensions.
Collection classes for various types of data, such as
ArrayCollection
,VectorCollection
, orXMLListCollection
.Optionally split items into multiple pages, and snap to each page when scrolling.
Menus and Navigation
Create menus and navigate between screens using
StackScreenNavigator
orTabNavigator
.Push and pop screens using a history stack that easily supports a back button.
Animate the transition between screens. Push and pop actions may use separate transitions, and individual screens may optionally be given their own unique transitions.
Support for custom transitions.
Dispatch events to trigger navigation between screens.
Inject properties into screens to quickly configure them.
More!
Buttons, sliders, radio buttons, check boxes, toggle switches, steppers, text inputs, tabs, and tons of other common UI controls.
A manager for drag and drop.
Add pop-ups above all other content in the app. Includes support for modal pop-ups that display an overlay between the pop-up and everything under it.
Sound useful?
Download Feathers, and get started building cross-platform, hardware-accelerated user interfaces for apps and games with Starling Framework and Feathers.