class BaseScrollContainer
package feathers.controls.supportClasses
extends FeathersControl › MeasureSprite › ValidatingSprite
implements IFocusObject
extended by GridView, GroupListView, ListView, ScrollContainer, TextArea, TreeGridView, TreeView
A base class for scrolling containers.
Events:
feathers.events.ScrollEvent.SCROLL | Dispatched when the scroll position changes, or when the minimum or maximum scroll positions change. |
---|---|
feathers.events.ScrollEvent.SCROLL_START | Dispatched when scrolling begins. |
feathers.events.ScrollEvent.SCROLL_COMPLETE | Dispatched when scrolling ends. |
1.0.0
.Variables
autoHideScrollBars:Bool
Determines if the scroll bars should be automatically hidden after scrolling has ended, whether it was through user interaction or animation.
In the following example, scroll bar auto-hiding is disabled:
container.autoHideScrollBars = false;
This property has no effect if fixedScrollBars
is true
. Fixed scroll
bars are always visible. Similarly, if showScrollBars
is false
, then
the scroll bars are always hidden.
1.0.0
.backgroundSkin:DisplayObject
The default background skin to display behind all content added to the group. The background skin is resized to fill the complete width and height of the group.
The following example passes a bitmap for the container to use as a background skin:
group.backgroundSkin = new Bitmap(bitmapData);
1.0.0
.See also:
disabledBackgroundSkin:DisplayObject
The default background skin to display behind all content added to the group. The background skin is resized to fill the complete width and height of the group.
The following example gives the group a disabled background skin:
group.disabledBackgroundSkin = new Bitmap(bitmapData);
group.enabled = false;
1.0.0
.See also:
fixedScrollBars:Bool
Determines if the scroll bars are fixed to the edges of the container, without overlapping the container's content, or if the scroll bars are floating above the container's content.
In the following example, the scroll bars are fixed:
container.fixedScrollBars = true;
This property has no effect if showScrollBars
is false
.
1.0.0
.hideScrollBarDuration:Float
The duration, measured in seconds, of the animation when a scroll bar fades out.
In the following example, the duration of the animation that hides the scroll bars is set to 500 milliseconds:
container.hideScrollBarDuration = 0.5;
1.0.0
.hideScrollBarEase:IEasing
The easing function used for hiding the scroll bars, if applicable.
In the following example, the ease of the animation that hides the scroll bars is customized:
container.hideScrollBarEase = Elastic.easeOut;
1.0.0
.maskSkin:DisplayObject
A skin to mask the content of the container. The skin is resized to
the full dimensions of the container. It is passed to the mask
property.
This property masks the entire container, including any chrome such as
scroll bars or headers and footers. To mask only the scrollable region,
use viewPortMaskSkin
instead.
The following example passes a RectangleSkin
with a cornerRadius
for
the container's mask skin:
var maskSkin = new RectangleSkin();
maskSkin.fill = SolidColor(0xff0000);
maskSkin.cornerRadius = 10.0;
container.maskSkin = maskSkin;
1.0.0
.See also:
read onlymaxScrollX:Float
The number of pixels the container may be scrolled horizontally in the rightward direction. This value is automatically calculated based on the bounds of the container's viewport.
The scrollX
property may have a higher value than the maximum if the
elasticEdges
property is enabled. However, once the user stops
interacting with the container, it will automatically animate back to
the maximum position.
1.0.0
.See also:
read onlymaxScrollY:Float
The number of pixels the container may be scrolled vertically in the downward direction. This value is automatically calculated based on the bounds of the container's viewport.
The scrollY
property may have a higher value than the maximum if the
elasticEdges
property is enabled. However, once the user stops
interacting with the container, it will automatically animate back to
the maximum position.
1.0.0
.See also:
read onlyminScrollX:Float
The number of pixels the container may be scrolled horizontally in the leftward direction. This value is automatically calculated based on the bounds of the container's viewport.
The scrollX
property may have a lower value than the minimum if the
elasticEdges
property is enabled. However, once the user stops
interacting with the container, it will automatically animate back to
the minimum position.
1.0.0
.See also:
read onlyminScrollY:Float
The number of pixels the container may be scrolled vertically in the upward direction. This value is automatically calculated based on the bounds of the container's viewport.
The scrollY
property may have a lower value than the minimum if the
elasticEdges
property is enabled. However, once the user stops
interacting with the container, it will automatically animate back to
the minimum position.
1.0.0
.See also:
paddingBottom:Float
The minimum space, in pixels, between the container's bottom edge and the container's content.
In the following example, the container's bottom padding is set to 20 pixels:
container.paddingBottom = 20.0;
1.0.0
.paddingLeft:Float
The minimum space, in pixels, between the container's left edge and the container's content.
In the following example, the container's left padding is set to 20 pixels:
container.paddingLeft = 20.0;
1.0.0
.paddingRight:Float
The minimum space, in pixels, between the container's right edge and the container's content.
In the following example, the container's right padding is set to 20 pixels:
container.paddingRight = 20.0;
1.0.0
.paddingTop:Float
The minimum space, in pixels, between the container's top edge and the container's content.
In the following example, the container's top padding is set to 20 pixels:
container.paddingTop = 20.0;
1.0.0
.restrictedScrollX:Float
Setting scrollX
will clamp the value between minScrollX
and
maxScrollX
, but setting unrestrictedScrollX
will allow values
outside of that range.
1.0.0
.See also:
restrictedScrollY:Float
Setting restrictedScrollY
will clamp the value to the range between
minScrollY
and maxScrollY
.
1.0.0
.See also:
scrollBarXFactory:AbstractDisplayObjectFactory<Dynamic, HScrollBar>
Creates the horizontal scroll bar. The horizontal scroll bar may be any
implementation of IScrollBar
, but typically, the
feathers.controls.HScrollBar
component is used.
In the following example, a custom horizontal scroll bar factory is passed to the container:
scroller.scrollBarXFactory = () ->
{
return new HScrollBar();
};
1.0.0
.See also:
scrollBarXPosition:RelativePosition
Determines the edge of the container where the horizontal scroll bar will be positioned (either on the top or the bottom).
In the following example, the horizontal scroll bar is positioned on the top edge of the container:
container.scrollBarXPosition = TOP;
1.0.0
.See also:
scrollBarYFactory:AbstractDisplayObjectFactory<Dynamic, VScrollBar>
Creates the vertical scroll bar. The vertical scroll bar may be any
implementation of IScrollBar
, but typically, the
feathers.controls.VScrollBar
component is used.
In the following example, a custom vertical scroll bar factory is passed to the container:
scroller.scrollBarYFactory = () ->
{
return new VScrollBar();
};
1.0.0
.See also:
scrollBarYPosition:RelativePosition
Determines the edge of the container where the vertical scroll bar will be positioned (either on the left or the right).
In the following example, the vertical scroll bar is positioned on the left edge of the container:
container.scrollBarYPosition = LEFT;
1.0.0
.See also:
scrollMode:ScrollMode
Determines how scrolling is rendered by the container.
In the following example, scroll mode is changed to use a scrollRect
:
container.scrollMode = SCROLL_RECT;
1.0.0
.scrollPixelSnapping:Bool
If enabled, the scroll position will always be adjusted to the nearest pixel in stage coordinates.
In the following example, the scroll position is snapped to pixels:
container.scrollPixelSnapping = true;
1.0.0
.scrollPolicyX:ScrollPolicy
Determines whether the container may scroll horizontally (on the x-axis) or not.
In the following example, horizontal scrolling is disabled:
container.scrollPolicyX = OFF;
1.0.0
.See also:
scrollPolicyY:ScrollPolicy
Determines whether the container may scroll vertically (on the y-axis) or not.
In the following example, vertical scrolling is disabled:
container.scrollPolicyY = OFF;
1.0.0
.See also:
scrollStepX:Float
The number of pixels the horizontal scroll position can be adjusted by a step (such as with the left/right keyboard arrow keys, or a step button on the horizontal scroll bar).
In the following example, the horizontal scroll step is set to 20 pixels:
container.scrollStepX = 20.0;
1.0.0
.scrollStepY:Float
The number of pixels the vertical scroll position can be adjusted by a step (such as with the up/down keyboard arrow keys, or a step button on the vertical scroll bar).
In the following example, the vertical scroll step is set to 20 pixels:
container.scrollStepY = 20.0;
1.0.0
.scrollX:Float
The number of pixels the container has been scrolled horizontally (on the x-axis).
When setting scrollX
, the new value will be automatically clamped to
the range between minScrollX
and maxScrollX
. To programmatically set
a scrollX
to a value outside of that range, set unrestrictedScrollX
instead.
When the value of scrollX
changes, the container dispatches an event
of type ScrollEvent.SCROLL
. This event is dispatched when other
scroll position properties change too.
In the following example, the horizontal scroll position is modified immediately, without being animated:
container.scrollX = 100.0;
1.0.0
.See also:
scrollY:Float
The number of pixels the container has been scrolled vertically (on the y-axis).
When the value of scrollY
changes, the container dispatches an event
of type ScrollEvent.SCROLL
. This event is dispatched when other
scroll position properties change too.
In the following example, the vertical scroll position is modified immediately, without being animated:
container.scrollY = 100.0;
1.0.0
.See also:
showScrollBarMinimumDuration:Float
The minimum time, in seconds, that the scroll bars will be shown, if
autoHideScrollBars
is enabled.
In the following example, the minimum duration to show scroll bars is increased:
container.showScrollBarMinimumDuration = 1.0;
1.0.0
.See also:
showScrollBars:Bool
Determines if scroll bars are displayed or not.
In the following example, the scroll bars are hidden:
container.showScrollBars = false;
1.0.0
.privateviewPort:IViewPort
The display object rendered and scrolled within the container, provided
by a subclass of BaseScrollContainer
.
1.0.0
.viewPortMaskSkin:DisplayObject
A skin to mask the view port (the scrollable region) of the container.
The skin is resized to the dimensions of the view port only, and it does
not affect any other chrome, such as scroll bars or a header or footer.
It is passed to the mask
property.
The following example passes a RectangleSkin
with a cornerRadius
for
the container view port's mask skin:
var maskSkin = new RectangleSkin();
maskSkin.fill = SolidColor(0xff0000);
maskSkin.cornerRadius = 10.0;
container.viewPortMaskSkin = maskSkin;
1.0.0
.See also:
scrollerFactory:() ‑> Scroller
Creates the Scroller
utility that manages touch and mouse wheel
scrolling.
In the following example, a custom scroller factory is passed to the container:
scroller.scrollBarYFactory = () ->
{
var scroller = new Scroller();
scroller.elasticEdges = false;
return scroller;
};
1.0.0
.Methods
getViewPortVisibleBounds(?result:Rectangle):Rectangle
Returns the visible bounds of the view port within the container's local coordinate system.
1.0.0
.setPadding(value:Float):Void
Sets all four padding properties to the same value.
1.0.0
.See also: