Feathers 3.0 Migration Guide

This guide explains how to migrate an application created with a previous version of Feathers to Feathers 3.0. Some APIs have been removed and others have been deprecated. New classes like ImageSkin make it easier to skin components while optimizing memory and performance.

Skinning Changes

Removal of Scale9Image, Scale3Image, and TiledImage

Starling 2.0 now offers these features natively!

To replace Scale9Image, create an Image and set its scale9Grid property:

var image:Image = new Image( texture );
image.scale9Grid = new Rectangle( 2, 2, 3, 6 );
this.addChild( image );

To replace Scale3Image, create an Image and set its scale9Grid property. For horizontal scaling, set the grid's height to the full height of the texture. For vertical scaling, set the grid's width to the full width of the texture. In the following example, the Image can be scaled horizontally like the old Scale3Image:

var image:Image = new Image( texture );
image.scale9Grid = new Rectangle( 2, 0, 3, texture.frameHeight );
this.addChild( image );

To replace TiledImage, create an Image and set the tileGrid property to an empty Rectangle:

var image:Image = new Image( texture );
image.tileGrid = new Rectangle();
this.addChild( image );

The new ImageSkin class

feathers.skin.ImageSkin provides a more optimized way to skin Feathers components that have multiple states, such as Button and TextInput.

Previously, the easiest way to skin these components involved creating separate display objects for each state. For instance, a Button might have a default skin, a down skin, a hover skin, and a disabled skin. You would create four separate Image objects with four textures.

From an optimization perspective, it would be better to use a single Image and simply reuse it with all four textures. Previously, we could do that by using the stateToSkinFunction property, but it's wasn't very intuitive, so many developers preferred to use separate display objects for each state. The ImageSkin class takes advantage of new capabilities in Starling 2.0 to make using multiple textures easy.

Let's take a look at how a button can use ImageSkin:

var skin:ImageSkin = new ImageSkin( defaultTexture );
skin.setTextureForState( ButtonState.DOWN, downTexture );
skin.setTextureForState( ButtonState.DISABLED, disabledTexture );
skin.scale9Grid = SCALE_9_GRID;
button.defaultSkin = skin;

Each state can display a different texture, and the ImageSkin automatically detects when the button's state changes. If a texture isn't specified for the current state, the default texture will be used.

In addition to being used for background skins, ImageSkin can also be used for the icon on buttons, text inputs, and item renderers.

Setting font styles on text renderers

Text renderers in Feathers components can now change their own font styles when their parent component changes state. Previously, the Button class managed multiple sets of properties for different states (like defaultLabelProperties and downLabelProperties) using objects that were not strictly type-checked at compile-time. The new approach is stricter, and easier to customize outside of the theme:

button.labelFactory = function():ITextRenderer
{
    var textRenderer:BitmapFontTextRenderer = new BitmapFontTextRenderer();
    textRenderer.styleProvider = null; // avoid conflicts with the theme
    textRenderer.textFormat = new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0xffffff );
    return textRenderer;
};

In the code above, we create a BitmapFontTextRenderer and we use the textFormat property to set its font styles in the labelFactory of a Button.

On the BitmapFontTextRenderer, we can call the setTextFormatForState() function to pass in different font styles of each of the button's states. Let's do that in the same labelFactory:

textRenderer.setTextFormatForState( ButtonState.DOWN,
    new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0xffcc00 ) );

textRenderer.setTextFormatForState( ButtonState.DISABLED,
    new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0x999999 ) );

If you prefer to keep all of your styling code in your theme, you can create a new style name for the text renderer class. On a Button, you'd pass this custom style name to the customLabelStyleName property:

button.customLabelStyleName = "my-custom-text-renderer";

In your theme, you'd add a new styling function for BitmapFontTextRenderer.

getStyleProviderForClass( BitmapFontTextRenderer )
    .setFunctionForStyleName( "my-custom-text-renderer", setCustomTextRendererStyles );

Just like above, we can set the default font styles, and styles for different states:

function setCustomTextRendererStyles( textRenderer: BitmapFontTextRenderer ):void
{
    textRenderer.textFormat = new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0xffffff );
    textRenderer.setElementFormatForState( ButtonState.DOWN,
        new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0xffcc00 ) );
    textRenderer.setElementFormatForState( ButtonState.DISABLED,
        new BitmapFontTextFormat( "My Font", BitmapFont.NATIVE_SIZE, 0x999999 ) );
}

Removal of StandardIcons.listDrillDownAccessoryTexture

This static property was previously used to return a special icon for item renderers inside accessorySourceFunction. In Feathers 3.0, you should add the DefaultListItemRenderer.ALTERNATE_STYLE_NAME_DRILL_DOWN constant to the item renderer's styleNameList instead. The theme will detect this style name, and it will pass a drill down icon to the item renderer.

If some of the items in the list should not display a drill down icon, use the setItemRendererFactoryWithID() and factoryIDFunction to pass multiple item renderer factories to the List or GroupedList.

list.itemRendererFactory = function():IListItemRenderer
{
    var itemRenderer:DefaultListItemRenderer = new DefaultListItemRenderer();
    itemRenderer.styleNameList.add( DefaultListItemRenderer.ALTERNATE_STYLE_NAME_DRILL_DOWN );
    return itemRenderer;
};

If all items in the list should have a drill down icon, you may use customItemRendererStyleName instead:

list.customItemRendererStyleName = DefaultListItemRenderer.ALTERNATE_STYLE_NAME_DRILL_DOWN;

saveMeasurements() replaces setSizeInternal()

Custom component developers should migrate to the new saveMeasurements() as a replacement for setSizeInternal(), which is now considered deprecated.

In addition to the more intuitive name, saveMeasurements() now allows components to dynamically calculate minimum width and height:

this.saveMeasurements(newWidth, newHeight, newMinWidth, newMinHeight);

To maintain the previous behavior, you may pass a value of 0 for the minimum dimensions:

this.saveMeasurements(newWidth, newHeight, 0, 0);

You might also consider setting the minimum dimensions to the same as the regular dimensions:

this.saveMeasurements(newWidth, newHeight, newWidth, newHeight);

All of the core Feathers components now calculate minimum dimensions, if they are not set explicitly.

Return type API changes

The Drawers component now requires its content and drawers to be Feathers components. Previously, starling.display.Sprite was allowed. To replace Sprite as a generic container, consider using LayoutGroup instead.

The INativeFocusOwner interface now returns type Object for its nativeFocus property to allow objects like flash.text.StageText to receive focus. Previously, the return type was flash.display.InteractiveObject.

Multi-Resolution Development with Feathers

Feathers 3.0 fully embraces Starling's contentScaleFactor system described in Starling Multi-Resolution Development. Feathers even has some tricks up its sleeve to make it easy to scale to any mobile device's screen, while using its native aspect ratio.

ScreenDensityScaleFactorManager

The ScreenDensityScaleFactorManager class provides a convienent way to automatically calculate an appropriate contentScaleFactor value while maintaining the aspect ratio of any mobile device's screen. It uses a system inspired by Android that takes into account the screen density and the screen's resolution.

The following example shows how to use ScreenDensityScaleFactorManager by modifying the sample Startup Code from the Starling wiki.

public class Startup extends Sprite
{
    private var mStarling:Starling;
    private var mScaler:ScreenDensityScaleFactorManager;
 
    public function Startup()
    {
        mStarling = new Starling( Game, stage );
        mScaler = new ScreenDensityScaleFactorManager( mStarling );
        mStarling.start();
    }
}

You don't need to set the dimensions of Starling's view port, or the stageWidth and stageHeight properties of the Starling stage. ScreenDensityScaleFactorManager handles it all for you — even when the device's orientation changes.

ScreenDensityScaleFactorManager is considered optional, and if you'd prefer to manage the Starling view port and stage size manually using the techniques in Multi-Resolution Development, Feathers fully supports that approach too.

Changes to example themes

The example themes have been modified to allow Starling to automatically scale assets using contentScaleFactor. The textures in these themes now use a scale factor value of 2.

The themes no longer have scale variable that is calculated using the screen density. Pixel dimensions and font sizes are now the same for all scale factors.

If subclasses of example themes define scale9Grid rectangles, the values may need to be scaled down to continue working in Feathers 3.0. Previously, these themes defined textures with scale factor 1, and then scaled them up or down manually using the scale variable. Since the textures now use scale factor 2, the old scale9Grid values should be divided by 2. Note: If the original values in the scale9Grid are odd numbers, rounding up may work, but the skin may need to be widened by an extra pixel to get an even number width or height.

Duplicate constants moved to shared classes

In previous versions of Feathers, a number of constants were duplicated across many classes. For instance, you could find HORIZONTAL_ALIGN_LEFT on such classes as Button, DefaultListItemRenderer, HorizontalLayout, and TiledRowsLayout (and elsewhere too!). In Feathers 3.0, you can now use a shared HorizontalAlign.LEFT constant. Put another way, once you've used HorizontalAlign.LEFT constant with one class, you'll know exactly where to find when you need it in the future for any other class.

Other duplicate constants have been consolidated in the same way. The following classes with shared constants have been added to Feathers:

The original duplicate constants are considered deprecated. They will remain available in order to maintain backward compatibility for a short time. However, they will be removed at some point in the future.

In general, a deprecated API in Feathers will not be removed until six months have passed or two minor updates have been released (whichever takes longer). However, due to the impact of this change, the deprecated constants will not be removed until 18 months have passed or one major update has been released (again, whichever takes longer). This should give developers more time to migrate.

Additionally, take a look at Appendix: Find and Replace Regular Expressions to find a set of regular expressions to help automate the process of migrating to these new shared constants.

Backwards compatibility with feathers-compat

The feathers-compat project is a backwards compatibility library that is designed to make migration to Feathers 3.0 easier. It includes a number classes that were removed from Feathers 3.0. If you relied on these classes with earlier versions of Feathers, use feathers-compat to get your project up and running more quickly when upgrading to Starling 2.0 and Feathers 3.0. Then, you can take a little extra time to migrate your existing code.

For example, if you used SmartDisplayObjectValueSelector for skinning, you are strongly encouraged to switch to the new, more intuitive ImageSkin. However, you can add feathers-compat to your project, and you'll be able to continue using SmartDisplayObjectValueSelector and save the migration to ImageSkin for a later time.

Download feathers-compat from Github

Appendix: List of Removed APIs

The following table lists all removed APIs, organized alphabetically. The replacement API or migration instructions appear next to each listed API.

Removed API How to Migrate
BitmapFontTextRenderer.snapToPixels Use the pixelSnapping property instead, which is also the name of the new property on starling.display.Mesh.
ImageLoader.snapToPixels Use the pixelSnapping property instead, which is also the name of the new property on starling.display.Mesh.
ImageLoader.smoothing Use the textureSmoothing property instead, which is also the new name of the property on starling.display.Image.
OldFadeNewSlideTransitionManager Switch to StackScreenNavigator to get full support for navigation history. Create a custom pushTransition and popTransition.
Scale3Image Create a starling.display.Image and set its scale9Grid property.
Scale3Textures See instructions for Scale3Image.
Scale9Image Create a starling.display.Image and set its scale9Grid property.
Scale9Textures See instructions for Scale9Image.
Scale9ImageStateValueSelector Create a feathers.skins.ImageSkin and call setTextureForState() to use multiple textures.
ScreenFadeTransitionManager Use Fade transition.
ScreenSlidingStackTransitionManager Switch to StackScreenNavigator to get full support for navigation history. Use Slide for pushTransition and popTransition.
SmartDisplayObjectStateValueSelector Create a feathers.skins.ImageSkin and call setTextureForState() to use multiple textures.
StandardIcons.listDrillDownAccessoryTexture Add DefaultListItemRenderer.ALTERNATE_STYLE_NAME_DRILL_DOWN to the item renderer's styleNameList.
TextBlockTextRenderer.snapToPixels Use the pixelSnapping property instead, which is also the name of the new property on starling.display.Mesh.
TextFieldTextRenderer.snapToPixels Use the pixelSnapping property instead, which is also the name of the new property on starling.display.Mesh.
TiledImage Create a starling.display.Image and set the tileGrid property.

Appendix: List of Deprecated APIs

The following tables list all deprecated APIs, organized by class. The replacement API or migration instructions appear next to each listed property or method.

FeathersControl

Deprecated API How to Migrate
setSizeInternal() saveMeasurements()

Alert

No APIs are deprecated.

AutoComplete

No APIs are deprecated.

BaseDefaultItemRenderer

Deprecated API How to Migrate
BaseDefaultItemRenderer.STATE_UP ButtonState.UP
BaseDefaultItemRenderer.STATE_DOWN ButtonState.DOWN
BaseDefaultItemRenderer.STATE_HOVER ButtonState.HOVER
BaseDefaultItemRenderer.STATE_DISABLED ButtonState.DISABLED
BaseDefaultItemRenderer.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
BaseDefaultItemRenderer.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
BaseDefaultItemRenderer.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
BaseDefaultItemRenderer.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
BaseDefaultItemRenderer.ICON_POSITION_TOP RelativePosition.TOP
BaseDefaultItemRenderer.ICON_POSITION_RIGHT RelativePosition.RIGHT
BaseDefaultItemRenderer.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
BaseDefaultItemRenderer.ICON_POSITION_LEFT RelativePosition.LEFT
BaseDefaultItemRenderer.ICON_POSITION_MANUAL RelativePosition.MANUAL
BaseDefaultItemRenderer.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
BaseDefaultItemRenderer.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
BaseDefaultItemRenderer.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
BaseDefaultItemRenderer.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
BaseDefaultItemRenderer.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
BaseDefaultItemRenderer.VERTICAL_ALIGN_TOP VerticalAlign.TOP
BaseDefaultItemRenderer.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
BaseDefaultItemRenderer.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
BaseDefaultItemRenderer.ACCESSORY_POSITION_TOP RelativePosition.TOP
BaseDefaultItemRenderer.ACCESSORY_POSITION_RIGHT RelativePosition.RIGHT
BaseDefaultItemRenderer.ACCESSORY_POSITION_BOTTOM RelativePosition.BOTTOM
BaseDefaultItemRenderer.ACCESSORY_POSITION_LEFT RelativePosition.LEFT
BaseDefaultItemRenderer.ACCESSORY_POSITION_MANUAL RelativePosition.MANUAL

Button

Deprecated API How to Migrate
stateToSkinFunction Pass an ImageSkin to the defaultSkin property.
stateToIconFunction Pass an ImageSkin to the defaultIcon property.
stateToLabelPropertiesFunction Set the font styles directly on the text renderer and use the ButtonState constants to set font styles for each state.
upLabelProperties Set font styles on text renderer using ButtonState.UP
downLabelProperties Set font styles on text renderer using ButtonState.DOWN
hoverLabelProperties Set font styles on text renderer using ButtonState.HOVER
disabledLabelProperties Set font styles on text renderer using ButtonState.DISABLED
Button.STATE_UP ButtonState.UP
Button.STATE_DOWN ButtonState.DOWN
Button.STATE_HOVER ButtonState.HOVER
Button.STATE_DISABLED ButtonState.DISABLED
Button.ICON_POSITION_TOP RelativePosition.TOP
Button.ICON_POSITION_RIGHT RelativePosition.RIGHT
Button.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
Button.ICON_POSITION_LEFT RelativePosition.LEFT
Button.ICON_POSITION_MANUAL RelativePosition.MANUAL
Button.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
Button.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
Button.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
Button.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
Button.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
Button.VERTICAL_ALIGN_TOP VerticalAlign.TOP
Button.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
Button.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

ButtonGroup

Deprecated API How to Migrate
ButtonGroup.DIRECTION_HORIZONTAL Direction.HORIZONTAL
ButtonGroup.DIRECTION_VERTICAL Direction.VERTICAL
ButtonGroup.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
ButtonGroup.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
ButtonGroup.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
ButtonGroup.HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY
ButtonGroup.VERTICAL_ALIGN_TOP VerticalAlign.TOP
ButtonGroup.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
ButtonGroup.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
ButtonGroup.VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

Callout

Deprecated API How to Migrate
supportedDirections supportedPositions
Callout.ARROW_POSITION_TOP RelativePosition.TOP
Callout.ARROW_POSITION_RIGHT RelativePosition.RIGHT
Callout.ARROW_POSITION_BOTTOM RelativePosition.BOTTOM
Callout.ARROW_POSITION_LEFT RelativePosition.LEFT
Callout.DIRECTION_ANY null
Callout.DIRECTION_HORIZONTAL new <String>[RelativePosition.RIGHT, RelativePosition.LEFT]
Callout.DIRECTION_VERTICAL new <String>[RelativePosition.BOTTOM, RelativePosition.TOP]
Callout.DIRECTION_TOP new <String>[RelativePosition.TOP]
Callout.DIRECTION_RIGHT new <String>[RelativePosition.RIGHT]
Callout.DIRECTION_BOTTOM new <String>[RelativePosition.BOTTOM]
Callout.DIRECTION_LEFT new <String>[RelativePosition.LEFT]

Check

Deprecated API How to Migrate
Check.STATE_UP ButtonState.UP
Check.STATE_DOWN ButtonState.DOWN
Check.STATE_HOVER ButtonState.HOVER
Check.STATE_DISABLED ButtonState.DISABLED
Check.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
Check.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
Check.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
Check.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
Check.ICON_POSITION_TOP RelativePosition.TOP
Check.ICON_POSITION_RIGHT RelativePosition.RIGHT
Check.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
Check.ICON_POSITION_LEFT RelativePosition.LEFT
Check.ICON_POSITION_MANUAL RelativePosition.MANUAL
Check.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
Check.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
Check.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
Check.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
Check.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
Check.VERTICAL_ALIGN_TOP VerticalAlign.TOP
Check.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
Check.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

DateTimeSpinner

Deprecated API How to Migrate
DateTimeSpinner.EDITING_MODE_DATE DateTimeMode.DATE
DateTimeSpinner.EDITING_MODE_TIME DateTimeMode.TIME
DateTimeSpinner.EDITING_MODE_DATE_AND_TIME DateTimeMode.DATE_AND_TIME

DefaultGroupedListItemRenderer

Deprecated API How to Migrate
DefaultGroupedListItemRenderer.STATE_UP ButtonState.UP
DefaultGroupedListItemRenderer.STATE_DOWN ButtonState.DOWN
DefaultGroupedListItemRenderer.STATE_HOVER ButtonState.HOVER
DefaultGroupedListItemRenderer.STATE_DISABLED ButtonState.DISABLED
DefaultGroupedListItemRenderer.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
DefaultGroupedListItemRenderer.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
DefaultGroupedListItemRenderer.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
DefaultGroupedListItemRenderer.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
DefaultGroupedListItemRenderer.ICON_POSITION_TOP RelativePosition.TOP
DefaultGroupedListItemRenderer.ICON_POSITION_RIGHT RelativePosition.RIGHT
DefaultGroupedListItemRenderer.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
DefaultGroupedListItemRenderer.ICON_POSITION_LEFT RelativePosition.LEFT
DefaultGroupedListItemRenderer.ICON_POSITION_MANUAL RelativePosition.MANUAL
DefaultGroupedListItemRenderer.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
DefaultGroupedListItemRenderer.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
DefaultGroupedListItemRenderer.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
DefaultGroupedListItemRenderer.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
DefaultGroupedListItemRenderer.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
DefaultGroupedListItemRenderer.VERTICAL_ALIGN_TOP VerticalAlign.TOP
DefaultGroupedListItemRenderer.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
DefaultGroupedListItemRenderer.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
DefaultGroupedListItemRenderer.ACCESSORY_POSITION_TOP RelativePosition.TOP
DefaultGroupedListItemRenderer.ACCESSORY_POSITION_RIGHT RelativePosition.RIGHT
DefaultGroupedListItemRenderer.ACCESSORY_POSITION_BOTTOM RelativePosition.BOTTOM
DefaultGroupedListItemRenderer.ACCESSORY_POSITION_LEFT RelativePosition.LEFT
DefaultGroupedListItemRenderer.ACCESSORY_POSITION_MANUAL RelativePosition.MANUAL
DefaultGroupedListItemRenderer.LAYOUT_ORDER_LABEL_ICON_ACCESSORY ItemRendererLayoutOrder.MANUAL
DefaultGroupedListItemRenderer.LAYOUT_ORDER_LABEL_ACCESSORY_ICON ItemRendererLayoutOrder.MANUAL

DefaultListItemRenderer

Deprecated API How to Migrate
DefaultListItemRenderer.STATE_UP ButtonState.UP
DefaultListItemRenderer.STATE_DOWN ButtonState.DOWN
DefaultListItemRenderer.STATE_HOVER ButtonState.HOVER
DefaultListItemRenderer.STATE_DISABLED ButtonState.DISABLED
DefaultListItemRenderer.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
DefaultListItemRenderer.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
DefaultListItemRenderer.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
DefaultListItemRenderer.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
DefaultListItemRenderer.ICON_POSITION_TOP RelativePosition.TOP
DefaultListItemRenderer.ICON_POSITION_RIGHT RelativePosition.RIGHT
DefaultListItemRenderer.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
DefaultListItemRenderer.ICON_POSITION_LEFT RelativePosition.LEFT
DefaultListItemRenderer.ICON_POSITION_MANUAL RelativePosition.MANUAL
DefaultListItemRenderer.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
DefaultListItemRenderer.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
DefaultListItemRenderer.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
DefaultListItemRenderer.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
DefaultListItemRenderer.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
DefaultListItemRenderer.VERTICAL_ALIGN_TOP VerticalAlign.TOP
DefaultListItemRenderer.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
DefaultListItemRenderer.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
DefaultListItemRenderer.ACCESSORY_POSITION_TOP RelativePosition.TOP
DefaultListItemRenderer.ACCESSORY_POSITION_RIGHT RelativePosition.RIGHT
DefaultListItemRenderer.ACCESSORY_POSITION_BOTTOM RelativePosition.BOTTOM
DefaultListItemRenderer.ACCESSORY_POSITION_LEFT RelativePosition.LEFT
DefaultListItemRenderer.ACCESSORY_POSITION_MANUAL RelativePosition.MANUAL
DefaultListItemRenderer.LAYOUT_ORDER_LABEL_ICON_ACCESSORY ItemRendererLayoutOrder.MANUAL
DefaultListItemRenderer.LAYOUT_ORDER_LABEL_ACCESSORY_ICON ItemRendererLayoutOrder.MANUAL

Drawers

Deprecated API How to Migrate
Drawers.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
Drawers.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT
Drawers.DOCK_MODE_LANDSCAPE Orientation.LANDSCAPE
Drawers.DOCK_MODE_PORTRAIT Orientation.PORTRAIT
Drawers.DOCK_MODE_BOTH Orientation.BOTH
Drawers.DOCK_MODE_NONE Orientation.NONE
Drawers.OPEN_GESTURE_DRAG_CONTENT DragGesture.CONTENT
Drawers.OPEN_GESTURE_DRAG_CONTENT_EDGE DragGesture.EDGE
Drawers.OPEN_GESTURE_NONE DragGesture.NONE

GroupedList

Deprecated API How to Migrate
GroupedList.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
GroupedList.SCROLL_POLICY_ON ScrollPolicy.ON
GroupedList.SCROLL_POLICY_OFF ScrollPolicy.OFF
GroupedList.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
GroupedList.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
GroupedList.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
GroupedList.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
GroupedList.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
GroupedList.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
GroupedList.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
GroupedList.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
GroupedList.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
GroupedList.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
GroupedList.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
GroupedList.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
GroupedList.DECELERATION_RATE_FAST DecelerationRate.FAST
Deprecated API How to Migrate
Header.VERTICAL_ALIGN_TOP VerticalAlign.TOP
Header.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
Header.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
Header.TITLE_ALIGN_PREFER_LEFT HorizontalAlign.LEFT
Header.TITLE_ALIGN_CENTER HorizontalAlign.CENTER
Header.TITLE_ALIGN_PREFER_RIGHT HorizontalAlign.RIGHT

ImageLoader

Deprecated API How to Migrate
ImageLoader.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
ImageLoader.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
ImageLoader.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
ImageLoader.VERTICAL_ALIGN_TOP VerticalAlign.TOP
ImageLoader.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
ImageLoader.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

Label

No APIs are deprecated.

LayoutGroup

Deprecated API How to Migrate
LayoutGroup.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
LayoutGroup.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

List

Deprecated API How to Migrate
List.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
List.SCROLL_POLICY_ON ScrollPolicy.ON
List.SCROLL_POLICY_OFF ScrollPolicy.OFF
List.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
List.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
List.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
List.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
List.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
List.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
List.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
List.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
List.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
List.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
List.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
List.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
List.DECELERATION_RATE_FAST DecelerationRate.FAST

NumericStepper

Deprecated API How to Migrate
NumericStepper.BUTTON_LAYOUT_MODE_SPLIT_HORIZONTAL StepperButtonLayoutMode.SPLIT_HORIZONTAL
NumericStepper.BUTTON_LAYOUT_MODE_SPLIT_VERTICAL StepperButtonLayoutMode.SPLIT_VERTICAL
NumericStepper.BUTTON_LAYOUT_MODE_RIGHT_SIDE_VERTICAL StepperButtonLayoutMode.RIGHT_SIDE_VERTICAL

PageIndicator

Deprecated API How to Migrate
PageIndicator.INTERACTION_MODE_PREVIOUS_NEXT PageIndicatorInteractionMode.PREVIOUS_NEXT
PageIndicator.DIRECTION_HORIZONTAL Direction.HORIZONTAL
PageIndicator.DIRECTION_VERTICAL Direction.VERTICAL
PageIndicator.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
PageIndicator.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
PageIndicator.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
PageIndicator.VERTICAL_ALIGN_TOP VerticalAlign.TOP
PageIndicator.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
PageIndicator.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

Panel

Deprecated API How to Migrate
Panel.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
Panel.SCROLL_POLICY_ON ScrollPolicy.ON
Panel.SCROLL_POLICY_OFF ScrollPolicy.OFF
Panel.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
Panel.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
Panel.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
Panel.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
Panel.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
Panel.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
Panel.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
Panel.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
Panel.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
Panel.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
Panel.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
Panel.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
Panel.DECELERATION_RATE_FAST DecelerationRate.FAST
Panel.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
Panel.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

PanelScreen

Deprecated API How to Migrate
PanelScreen.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
PanelScreen.SCROLL_POLICY_ON ScrollPolicy.ON
PanelScreen.SCROLL_POLICY_OFF ScrollPolicy.OFF
PanelScreen.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
PanelScreen.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
PanelScreen.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
PanelScreen.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
PanelScreen.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
PanelScreen.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
PanelScreen.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
PanelScreen.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
PanelScreen.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
PanelScreen.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
PanelScreen.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
PanelScreen.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
PanelScreen.DECELERATION_RATE_FAST DecelerationRate.FAST
PanelScreen.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
PanelScreen.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

PickerList

No APIs are deprecated.

ProgressBar

Deprecated API How to Migrate
ProgressBar.DIRECTION_HORIZONTAL Direction.HORIZONTAL
ProgressBar.DIRECTION_VERTICAL Direction.VERTICAL

Radio

Deprecated API How to Migrate
Radio.STATE_UP ButtonState.UP
Radio.STATE_DOWN ButtonState.DOWN
Radio.STATE_HOVER ButtonState.HOVER
Radio.STATE_DISABLED ButtonState.DISABLED
Radio.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
Radio.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
Radio.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
Radio.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
Radio.ICON_POSITION_TOP RelativePosition.TOP
Radio.ICON_POSITION_RIGHT RelativePosition.RIGHT
Radio.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
Radio.ICON_POSITION_LEFT RelativePosition.LEFT
Radio.ICON_POSITION_MANUAL RelativePosition.MANUAL
Radio.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
Radio.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
Radio.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
Radio.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
Radio.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
Radio.VERTICAL_ALIGN_TOP VerticalAlign.TOP
Radio.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
Radio.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

Screen

Deprecated API How to Migrate
Screen.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
Screen.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

ScreenNavigator

Deprecated API How to Migrate
ScreenNavigator.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
ScreenNavigator.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

ScrollBar

Deprecated API How to Migrate
ScrollBar.DIRECTION_HORIZONTAL Direction.HORIZONTAL
ScrollBar.DIRECTION_VERTICAL Direction.VERTICAL
ScrollBar.TRACK_LAYOUT_MODE_SINGLE TrackLayoutMode.SINGLE
ScrollBar.TRACK_LAYOUT_MODE_MIN_MAX TrackLayoutMode.SPLIT

ScrollContainer

Deprecated API How to Migrate
ScrollContainer.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
ScrollContainer.SCROLL_POLICY_ON ScrollPolicy.ON
ScrollContainer.SCROLL_POLICY_OFF ScrollPolicy.OFF
ScrollContainer.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
ScrollContainer.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
ScrollContainer.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
ScrollContainer.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
ScrollContainer.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
ScrollContainer.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
ScrollContainer.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
ScrollContainer.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
ScrollContainer.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
ScrollContainer.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
ScrollContainer.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
ScrollContainer.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
ScrollContainer.DECELERATION_RATE_FAST DecelerationRate.FAST
ScrollContainer.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
ScrollContainer.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

ScrollScreen

Deprecated API How to Migrate
ScrollScreen.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
ScrollScreen.SCROLL_POLICY_ON ScrollPolicy.ON
ScrollScreen.SCROLL_POLICY_OFF ScrollPolicy.OFF
ScrollScreen.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
ScrollScreen.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
ScrollScreen.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
ScrollScreen.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
ScrollScreen.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
ScrollScreen.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
ScrollScreen.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
ScrollScreen.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
ScrollScreen.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
ScrollScreen.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
ScrollScreen.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
ScrollScreen.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
ScrollScreen.DECELERATION_RATE_FAST DecelerationRate.FAST
ScrollScreen.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
ScrollScreen.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

ScrollText

Deprecated API How to Migrate
ScrollText.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
ScrollText.SCROLL_POLICY_ON ScrollPolicy.ON
ScrollText.SCROLL_POLICY_OFF ScrollPolicy.OFF
ScrollText.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
ScrollText.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
ScrollText.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
ScrollText.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
ScrollText.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
ScrollText.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
ScrollText.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
ScrollText.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
ScrollText.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
ScrollText.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
ScrollText.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
ScrollText.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
ScrollText.DECELERATION_RATE_FAST DecelerationRate.FAST

SimpleScrollBar

Deprecated API How to Migrate
SimpleScrollBar.DIRECTION_HORIZONTAL Direction.HORIZONTAL
SimpleScrollBar.DIRECTION_VERTICAL Direction.VERTICAL

Slider

Deprecated API How to Migrate
Slider.DIRECTION_HORIZONTAL Direction.HORIZONTAL
Slider.DIRECTION_VERTICAL Direction.VERTICAL
Slider.TRACK_LAYOUT_MODE_SINGLE TrackLayoutMode.SINGLE
Slider.TRACK_LAYOUT_MODE_MIN_MAX TrackLayoutMode.SPLIT
Slider.TRACK_SCALE_MODE_DIRECTIONAL TrackScaleMode.DIRECTIONAL
Slider.TRACK_SCALE_MODE_EXACT_FIT TrackScaleMode.EXACT_FIT
Slider.TRACK_INTERACTION_MODE_TO_VALUE TrackInteractionMode.TO_VALUE
Slider.TRACK_INTERACTION_MODE_BY_PAGE TrackInteractionMode.BY_PAGE

SoundPlayer

No APIs are deprecated.

SpinnerList

No APIs are deprecated.

StackScreenNavigator

Deprecated API How to Migrate
StackScreenNavigator.AUTO_SIZE_MODE_STAGE AutoSizeMode.STAGE
StackScreenNavigator.AUTO_SIZE_MODE_CONTENT AutoSizeMode.CONTENT

TabBar

Deprecated API How to Migrate
TabBar.DIRECTION_HORIZONTAL Direction.HORIZONTAL
TabBar.DIRECTION_VERTICAL Direction.VERTICAL
TabBar.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
TabBar.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
TabBar.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
TabBar.HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY
TabBar.VERTICAL_ALIGN_TOP VerticalAlign.TOP
TabBar.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TabBar.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TabBar.VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

TextArea

Deprecated API How to Migrate
stateToSkinFunction Pass an ImageSkin to the backgroundSkin property.
TextArea.STATE_ENABLED TextInputState.ENABLED
TextArea.STATE_DISABLED TextInputState.DISABLED
TextArea.STATE_FOCUSED TextInputState.FOCUSED
TextArea.SCROLL_POLICY_AUTO ScrollPolicy.AUTO
TextArea.SCROLL_POLICY_ON ScrollPolicy.ON
TextArea.SCROLL_POLICY_OFF ScrollPolicy.OFF
TextArea.SCROLL_BAR_DISPLAY_MODE_FIXED ScrollBarDisplayMode.FIXED
TextArea.SCROLL_BAR_DISPLAY_MODE_FLOAT ScrollBarDisplayMode.FLOAT
TextArea.SCROLL_BAR_DISPLAY_MODE_NONE ScrollBarDisplayMode.NONE
TextArea.SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT ScrollBarDisplayMode.FIXED_FLOAT
TextArea.VERTICAL_SCROLL_BAR_POSITION_RIGHT RelativePosition.RIGHT
TextArea.VERTICAL_SCROLL_BAR_POSITION_LEFT RelativePosition.LEFT
TextArea.INTERACTION_MODE_TOUCH ScrollInteractionMode.TOUCH
TextArea.INTERACTION_MODE_MOUSE ScrollInteractionMode.MOUSE
TextArea.INTERACTION_MODE_TOUCH_AND_SCROLL_BARS ScrollInteractionMode.TOUCH_AND_SCROLL_BARS
TextArea.MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL Direction.VERTICAL
TextArea.MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL Direction.HORIZONTAL
TextArea.DECELERATION_RATE_NORMAL DecelerationRate.NORMAL
TextArea.DECELERATION_RATE_FAST DecelerationRate.FAST

TextInput

Deprecated API How to Migrate
stateToSkinFunction Pass an ImageSkin to the backgroundSkin property.
stateToIconFunction Pass an ImageSkin to the defaultIcon property.
TextInput.STATE_ENABLED TextInputState.ENABLED
TextInput.STATE_DISABLED TextInputState.DISABLED
TextInput.STATE_FOCUSED TextInputState.FOCUSED
TextInput.VERTICAL_ALIGN_TOP VerticalAlign.TOP
TextInput.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TextInput.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TextInput.VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

ToggleButton

Deprecated API How to Migrate
ToggleButton.STATE_UP ButtonState.UP
ToggleButton.STATE_DOWN ButtonState.DOWN
ToggleButton.STATE_HOVER ButtonState.HOVER
ToggleButton.STATE_DISABLED ButtonState.DISABLED
ToggleButton.STATE_UP_AND_SELECTED ButtonState.UP_AND_SELECTED
ToggleButton.STATE_DOWN_AND_SELECTED ButtonState.DOWN_AND_SELECTED
ToggleButton.STATE_HOVER_AND_SELECTED ButtonState.HOVER_AND_SELECTED
ToggleButton.STATE_DISABLED_AND_SELECTED ButtonState.DISABLED_AND_SELECTED
ToggleButton.ICON_POSITION_TOP RelativePosition.TOP
ToggleButton.ICON_POSITION_RIGHT RelativePosition.RIGHT
ToggleButton.ICON_POSITION_BOTTOM RelativePosition.BOTTOM
ToggleButton.ICON_POSITION_LEFT RelativePosition.LEFT
ToggleButton.ICON_POSITION_MANUAL RelativePosition.MANUAL
ToggleButton.ICON_POSITION_LEFT_BASELINE RelativePosition.LEFT_BASELINE
ToggleButton.ICON_POSITION_RIGHT_BASELINE RelativePosition.RIGHT_BASELINE
ToggleButton.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
ToggleButton.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
ToggleButton.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
ToggleButton.VERTICAL_ALIGN_TOP VerticalAlign.TOP
ToggleButton.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
ToggleButton.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

ToggleSwitch

Deprecated API How to Migrate
ToggleSwitch.TRACK_LAYOUT_MODE_SINGLE TrackLayoutMode.SINGLE
ToggleSwitch.TRACK_LAYOUT_MODE_ON_OFF TrackLayoutMode.SPLIT
ToggleSwitch.LABEL_ALIGN_MIDDLE No replacement. It was a workaround for incorrect height returned by TextBlockTextRenderer, and that has been fixed.
ToggleSwitch.LABEL_ALIGN_BASELINE No replacement. It was a workaround for incorrect height returned by TextBlockTextRenderer, and that has been fixed.
labelAlign No replacement. It was a workaround for incorrect height returned by TextBlockTextRenderer, and that has been fixed.

WebView

No APIs are deprecated.

VideoPlayer

No APIs are deprecated.

FlowLayout

Deprecated API How to Migrate
FlowLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
FlowLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
FlowLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
FlowLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
FlowLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
FlowLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

HorizontalLayout

Deprecated API How to Migrate
HorizontalLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
HorizontalLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
HorizontalLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
HorizontalLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
HorizontalLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
HorizontalLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
HorizontalLayout.VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

HorizontalSpinnerLayout

Deprecated API How to Migrate
HorizontalSpinnerLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
HorizontalSpinnerLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
HorizontalSpinnerLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
HorizontalSpinnerLayout.VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

TiledColumnsLayout

Deprecated API How to Migrate
TiledColumnsLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
TiledColumnsLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
TiledColumnsLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
TiledColumnsLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
TiledColumnsLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TiledColumnsLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TiledColumnsLayout.TILE_HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
TiledColumnsLayout.TILE_HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
TiledColumnsLayout.TILE_HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
TiledColumnsLayout.TILE_HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY
TiledColumnsLayout.TILE_VERTICAL_ALIGN_TOP VerticalAlign.TOP
TiledColumnsLayout.TILE_VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TiledColumnsLayout.TILE_VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TiledColumnsLayout.TILE_VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

TiledRowsLayout

Deprecated API How to Migrate
TiledRowsLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
TiledRowsLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
TiledRowsLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
TiledRowsLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
TiledRowsLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TiledRowsLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TiledRowsLayout.TILE_HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
TiledRowsLayout.TILE_HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
TiledRowsLayout.TILE_HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
TiledRowsLayout.TILE_HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY
TiledRowsLayout.TILE_VERTICAL_ALIGN_TOP VerticalAlign.TOP
TiledRowsLayout.TILE_VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
TiledRowsLayout.TILE_VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM
TiledRowsLayout.TILE_VERTICAL_ALIGN_JUSTIFY VerticalAlign.JUSTIFY

TimeLabel

Deprecated API How to Migrate
TimeLabel.DISPLAY_MODE_CURRENT_TIME MediaTimeMode.CURRENT_TIME
TimeLabel.DISPLAY_MODE_TOTAL_TIME MediaTimeMode.TOTAL_TIME
TimeLabel.DISPLAY_MODE_REMAINING_TIME MediaTimeMode.REMAINING_TIME
TimeLabel.DISPLAY_MODE_CURRENT_AND_TOTAL_TIMES MediaTimeMode.CURRENT_AND_TOTAL_TIMES

VerticalLayout

Deprecated API How to Migrate
VerticalLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
VerticalLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
VerticalLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
VerticalLayout.HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY
VerticalLayout.VERTICAL_ALIGN_TOP VerticalAlign.TOP
VerticalLayout.VERTICAL_ALIGN_MIDDLE VerticalAlign.MIDDLE
VerticalLayout.VERTICAL_ALIGN_BOTTOM VerticalAlign.BOTTOM

VerticalSpinnerLayout

Deprecated API How to Migrate
VerticalSpinnerLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
VerticalSpinnerLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
VerticalSpinnerLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT
VerticalSpinnerLayout.HORIZONTAL_ALIGN_JUSTIFY HorizontalAlign.JUSTIFY

WaterfallLayout

Deprecated API How to Migrate
WaterfallLayout.HORIZONTAL_ALIGN_LEFT HorizontalAlign.LEFT
WaterfallLayout.HORIZONTAL_ALIGN_CENTER HorizontalAlign.CENTER
WaterfallLayout.HORIZONTAL_ALIGN_RIGHT HorizontalAlign.RIGHT

Appendix: Find and Replace Regular Expressions

Many IDEs and text editors offer the ability to use regular expressions to Find and Replace text in a file. You may use the following regular expressions to accelerate the Feathers 3.0 migration process.

Find Replace
\w+\.HORIZONTAL_ALIGN_(\w+) HorizontalAlign.$1
\w+\.VERTICAL_ALIGN_(\w+) VerticalAlign.$1
\w+\.ICON_POSITION_(\w+) RelativePosition.$1
\w+\.ACCESSORY_POSITION_(\w+) RelativePosition.$1
\w+\.AUTO_SIZE_MODE_(\w+) AutoSizeMode.$1
\w+\.SCROLL_POLICY_(\w+) ScrollPolicy.$1
\w+\.SCROLL_BAR_DISPLAY_MODE_(\w+) ScrollBarDisplayMode.$1
(?<=[\s\,\(])(?!Callout)(?:\w+)\.DIRECTION_(\w+) Direction.$1
\w+\.MOUSE_WHEEL_SCROLL_DIRECTION_(\w+) Direction.$1
\w+\.VERTICAL_SCROLL_BAR_POSITION_(\w+) RelativePosition.$1
\w+\.DECELERATION_RATE_(\w+) DecelerationRate.$1
(?:(?<=[\s\,\(])(?!PageIndicator)(?:\w+))\.INTERACTION_MODE_(\w+) ScrollInteractionMode.$1
(?:TextInput|TextArea).STATE_(\w+) TextInputState.$1
(?:Button|ToggleButton|Check|Radio).STATE_(\w+) ButtonState.$1
\w+ItemRenderer.STATE_(\w+) ButtonState.$1
\w+\.TRACK_LAYOUT_MODE_SINGLE TrackLayoutMode.SINGLE
\w+\.TRACK_LAYOUT_MODE_(MIN_MAX|ON_OFF) TrackLayoutMode.SPLIT
\w+\.TRACK_SCALE_MODE_(\w+) TrackScaleMode.$1
\w+\.TRACK_INTERACTION_MODE_(\w+) TrackInteractionMode.$1
\w+\.EDITING_MODE_(\w+) DateTimeMode.$1
\w+\.DOCK_MODE_(\w+) Orientation.$1
TimeLabel\.DISPLAY_MODE_(\w+) MediaTimeMode.$1
Header\.TITLE_ALIGN(_PREFER){0,1}_(\w+) HorizontalAlign.$2
Drawers\.OPEN_MODE_(\w+) RelativeDepth.$1
Drawers\.OPEN_GESTURE_(DRAG_)?(CONTENT_)?(\w+) DragGesture.$3
\w+\.LAYOUT_ORDER_(\w+) ItemRendererLayoutOrder.$1
\w+\.BUTTON_LAYOUT_MODE_(\w+) StepperButtonLayoutMode.$1
PageIndicator.INTERACTION_MODE_(\w+) PageIndicatorInteractionMode.$1