Package | spark.components |
Class | public class SplitViewNavigator |
Inheritance | SplitViewNavigator ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Language Version: | ActionScript 3.0 |
Product Version: | Flex 4.6 |
Runtime Versions: | AIR 3 |
The following image shows the SplitViewNavigator container in a horizontal layout with a master and detail pane:
SplitViewNavigator takes ViewnNavigatorBase objects as children, and lays them out as
defined by its layout
property.
This component is useful for creating a master/detail interface on a mobile device.
There is no limit to the amount of child navigators this component can manage.
Note: Because of the screen space required to display multiple panes simultaneously, Adobe recommends that you only use the SplitViewNavigator on a tablet device.
If the autoHideFirstViewNavigator
property is set to
true
, the SplitViewNavigator automatically hides the
navigator that is at index 0 when the top level application has a
portrait aspect ratio.
The navigator reappears when the application is reoriented to a landsacpe aspect ratio.
You can manually hide and show a navigator by toggling the visble
flag on the child. When set, the includeInLayout
property
of that child will be set to match.
SplitViewNavigator lets you display the first navigator in a
popup. By default, it uses a Callout component.
When you call the showFirstViewNavigatorInPopUp()
method, the
first navigator is displayed in a popup until the
hideViewNavigatorPopUp()
method is called, or the user
touches outside the bounds of the popup.
It is important to note that when a navigator is displayed in a popup,
it is reparented as a child of that container.
This means that using IVisualElementContainer methods such as
getElementAt()
on SplitViewNavigator may not return the
expected results.
If you want to access the first or second navigator, Adobe recommends
that you use the getViewNavigatorAt()
method.
This method always returns the correct navigator regardless of whether
a navigator is in a popup or not.
By default, when the popup is opened, it is sized to the preferred width and height of the first navigator. The size of the popup can be changed by explicitly setting its width and height or by reskinning the component.
Note: When a SplitViewNavigator is used as a child of a
TabbedViewNavigator, changes to the tabBarVisible
on the
active views will not be honored by the parent TabbedViewNavigator.

The <s:SplitViewNavigator>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SplitViewNavigator Properties autoHideFirstViewNavigator="false" />
Default MXML PropertymxmlContentFactory
Related API Elements
spark.components.supportClasses.ViewNavigatorBase
spark.components.ViewNavigator
spark.components.TabbedViewNavigator
spark.components.Application.aspectRatio
spark.components.Callout
spark.components.SkinnablePopUpContainer
Property | Defined By | ||
---|---|---|---|
![]() | accessibilityImplementation : AccessibilityImplementation
The current accessibility implementation (AccessibilityImplementation)
for this InteractiveObject instance. | InteractiveObject | |
![]() | accessibilityProperties : AccessibilityProperties
The current accessibility options for this display object. | DisplayObject | |
![]() | alpha : Number
Indicates the alpha transparency value of the object specified. | DisplayObject | |
![]() | blendMode : String
A value from the BlendMode class that specifies which blend mode to use. | DisplayObject | |
![]() | blendShader : Shader [write-only]
Sets a shader that is used for blending the foreground and background. | DisplayObject | |
![]() | buttonMode : Boolean
Specifies the button mode of this sprite. | Sprite | |
![]() | cacheAsBitmap : Boolean
If set to true, Flash runtimes cache an internal bitmap representation of the
display object. | DisplayObject | |
![]() | cacheAsBitmapMatrix : Matrix
If non-null, this Matrix object defines how a display object is rendered when
cacheAsBitmap is set to true. | DisplayObject | |
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | |
![]() | contextMenu : NativeMenu
Specifies the context menu associated with this object. | InteractiveObject | |
![]() | dropTarget : DisplayObject [read-only]
Specifies the display object over which the sprite is being dragged, or on
which the sprite was dropped. | Sprite | |
![]() | filters : Array
An indexed array that contains each filter object currently associated with the display object. | DisplayObject | |
![]() | focusRect : Object
Specifies whether this object displays a focus rectangle. | InteractiveObject | |
![]() | graphics : Graphics [read-only]
Specifies the Graphics object that belongs to this sprite where vector
drawing commands can occur. | Sprite | |
![]() | hitArea : Sprite
Designates another sprite to serve as the hit area for a sprite. | Sprite | |
![]() | loaderInfo : LoaderInfo [read-only]
Returns a LoaderInfo object containing information about loading the file
to which this display object belongs. | DisplayObject | |
![]() | mask : DisplayObject
The calling display object is masked by the specified mask object. | DisplayObject | |
![]() | metaData : Object
Obtains the meta data object of the DisplayObject instance if meta data was stored alongside the
the instance of this DisplayObject in the SWF file through a PlaceObject4 tag. | DisplayObject | |
![]() | mouseChildren : Boolean
Determines whether or not the children of the object are mouse, or user input device, enabled. | DisplayObjectContainer | |
![]() | mouseEnabled : Boolean
Specifies whether this object receives mouse, or other user input, messages. | InteractiveObject | |
![]() | mouseX : Number [read-only]
Indicates the x coordinate of the mouse or user input device position, in pixels. | DisplayObject | |
![]() | mouseY : Number [read-only]
Indicates the y coordinate of the mouse or user input device position, in pixels. | DisplayObject | |
![]() | name : String
Indicates the instance name of the DisplayObject. | DisplayObject | |
![]() | needsSoftKeyboard : Boolean
Specifies whether a virtual keyboard (an on-screen, software keyboard) should display
when this InteractiveObject instance receives focus. | InteractiveObject | |
![]() | opaqueBackground : Object
Specifies whether the display object is opaque with a certain background color. | DisplayObject | |
![]() | root : DisplayObject [read-only]
For a display object in a loaded SWF file, the root property is the
top-most display object in the portion of the display list's tree structure represented by that SWF file. | DisplayObject | |
![]() | scale9Grid : Rectangle
The current scaling grid that is in effect. | DisplayObject | |
![]() | scrollRect : Rectangle
The scroll rectangle bounds of the display object. | DisplayObject | |
![]() | softKeyboard : String
Controls the appearance of the soft keyboard. | InteractiveObject | |
![]() | softKeyboardInputAreaOfInterest : Rectangle
Defines the area that should remain on-screen when a soft keyboard is displayed (not available on iOS). | InteractiveObject | |
![]() | soundTransform : flash.media:SoundTransform
Controls sound within this sprite. | Sprite | |
![]() | stage : Stage [read-only]
The Stage of the display object. | DisplayObject | |
![]() | tabChildren : Boolean
Determines whether the children of the object are tab enabled. | DisplayObjectContainer | |
![]() | tabEnabled : Boolean
Specifies whether this object is in the tab order. | InteractiveObject | |
![]() | tabIndex : int
Specifies the tab ordering of objects in a SWF file. | InteractiveObject | |
![]() | textSnapshot : flash.text:TextSnapshot [read-only]
Returns a TextSnapshot object for this DisplayObjectContainer instance. | DisplayObjectContainer | |
![]() | useHandCursor : Boolean
A Boolean value that indicates whether the pointing hand (hand cursor) appears when the pointer rolls
over a sprite in which the buttonMode property is set to true. | Sprite |
Method | Defined By | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | |
![]() |
Indicates whether the security restrictions
would cause any display objects to be omitted from the list returned by calling
the DisplayObjectContainer.getObjectsUnderPoint() method
with the specified point point. | DisplayObjectContainer | |
![]() |
Determines whether the specified display object is a child of the DisplayObjectContainer instance or
the instance itself. | DisplayObjectContainer | |
![]() |
Returns a rectangle that defines the area of the display object relative to the coordinate system
of the targetCoordinateSpace object. | DisplayObject | |
![]() |
Returns the child display object that exists with the specified name. | DisplayObjectContainer | |
![]() |
Returns an array of objects that lie under the specified point and are children
(or grandchildren, and so on) of this DisplayObjectContainer instance. | DisplayObjectContainer | |
![]() |
Returns a rectangle that defines the boundary of the display object,
based on the coordinate system defined by the targetCoordinateSpace
parameter, excluding any strokes on shapes. | DisplayObject | |
![]() |
Converts the point object from the Stage (global) coordinates
to the display object's (local) coordinates. | DisplayObject | |
![]() |
Converts a two-dimensional point from the Stage (global) coordinates to a
three-dimensional display object's (local) coordinates. | DisplayObject | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined. | Object | |
![]() |
Evaluates the bounding box of the display object to see if it overlaps or intersects with the
bounding box of the obj display object. | DisplayObject | |
![]() |
Evaluates the display object to see if it overlaps or intersects with the
point specified by the x and y parameters. | DisplayObject | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | |
![]() |
Converts a three-dimensional point of the three-dimensional display
object's (local) coordinates to a two-dimensional point in the Stage (global) coordinates. | DisplayObject | |
![]() |
Converts the point object from the display object's (local) coordinates to the
Stage (global) coordinates. | DisplayObject | |
![]() |
Indicates whether the specified property exists and is enumerable. | Object | |
![]() |
Removes all child DisplayObject instances from the child list of the DisplayObjectContainer instance. | DisplayObjectContainer | |
![]() |
Removes a listener from the EventDispatcher object. | EventDispatcher | |
![]() |
Raises a virtual keyboard. | InteractiveObject | |
![]() |
Sets the availability of a dynamic property for loop operations. | Object | |
![]() |
Lets the user drag the specified sprite. | Sprite | |
![]() |
Lets the user drag the specified sprite on a touch-enabled device. | Sprite | |
![]() |
Recursively stops the timeline execution of all MovieClips rooted at this object. | DisplayObjectContainer | |
![]() |
Ends the startDrag() method. | Sprite | |
![]() |
Ends the startTouchDrag() method, for use with touch-enabled devices. | Sprite | |
![]() |
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
![]() |
Returns the primitive value of the specified object. | Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.
This component uses skins made up of skin parts. Do not set the skin parts directly. The component's skin sets the skin parts.
Skin Part | Description | Defined By | ||
---|---|---|---|---|
![]() | Required: false Part Type: Static Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 An optional skin part that defines the Group where the content children get pushed into and laid out. | SkinnableContainer | ||
viewNavigatorPopUp:SkinnablePopUpContainer | Required: false Part Type: Static Language Version: ActionScript 3.0 Product Version: Flex 4.6 Runtime Versions: AIR3, The popUp used to display a navigator when showFirstViewNavigatorInPopUp() is called. When creating a custom MXML skin, this component should not be on the display list, but instead declared inside a fx:Declarations tag. | SplitViewNavigator |
To skin the component, implement a skin that defines the following states. Although you must implement all skin states, a skin state can be empty. An empty skin state specifies no changes to the default skin state.
Skin State | Description | Defined By | ||
---|---|---|---|---|
![]() |
Disabled State
Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 | SkinnableContainerBase | ||
landscape |
The skin state when the aspectRatio of the main
application is landscape.
Language Version: ActionScript 3.0 Product Version: Flex 4.6 Runtime Versions: AIR3, | SplitViewNavigator | ||
![]() |
Normal State
Language Version: ActionScript 3.0 Product Version: Flex 4 Runtime Versions: Flash10, AIR 1.5 | SkinnableContainerBase | ||
portrait |
The skin state when the aspectRatio of the main
application is portrait.
Language Version: ActionScript 3.0 Product Version: Flex 4.6 Runtime Versions: AIR3, | SplitViewNavigator |
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <s:SplitViewNavigator id="svn" width="100%" height="100%" autoHideFirstViewNavigator="true"> <s:ViewNavigator width="256" height="100%" firstView="views.MasterView"/> <s:ViewNavigator width="100%" height="100%" firstView="views.DetailView"> <s:navigationContent> <s:Button id="btn" label="Open Callout" click="svn.showFirstViewNavigatorInPopUp(btn)"/> </s:navigationContent> </s:ViewNavigator> </s:SplitViewNavigator> </s:Application>
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="Detail View" backgroundColor="#cccccc"> <s:TextInput left="30" top="30" text="{data} is selected"/> </s:View>
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="Master View"> <fx:Script> <![CDATA[ import spark.components.SplitViewNavigator; import spark.components.ViewNavigator; import spark.events.IndexChangeEvent; protected function listChangeHandler(event:IndexChangeEvent):void { var splitNavigator:SplitViewNavigator = navigator.parentNavigator as SplitViewNavigator; var detailNavigator:ViewNavigator = splitNavigator.getViewNavigatorAt(1) as ViewNavigator; detailNavigator.pushView(views.DetailView, event.newIndex); } ]]> </fx:Script> <fx:Declarations> <s:ArrayList id="listData"> <fx:String>Item 0</fx:String> <fx:String>Item 1</fx:String> <fx:String>Item 2</fx:String> <fx:String>Item 3</fx:String> <fx:String>Item 4</fx:String> <fx:String>Item 5</fx:String> <fx:String>Item 6</fx:String> <fx:String>Item 7</fx:String> <fx:String>Item 8</fx:String> <fx:String>Item 9</fx:String> <fx:String>Item 10</fx:String> <fx:String>Item 11</fx:String> <fx:String>Item 12</fx:String> <fx:String>Item 13</fx:String> <fx:String>Item 14</fx:String> <fx:String>Item 15</fx:String> <fx:String>Item 16</fx:String> <fx:String>Item 17</fx:String> <fx:String>Item 18</fx:String> <fx:String>Item 19</fx:String> </s:ArrayList> </fx:Declarations> <s:List width="100%" height="100%" dataProvider="{listData}" change="listChangeHandler(event)"/> </s:View>
Wed Nov 21 2018, 06:34 AM -08:00