Release Notes

Titanium SDK 3.0.0 Beta 2 - 11/19/2012

Contents

About This Release

This is a Beta version of Titanium SDK Release 3.0, introducing a number of new features. This release is not considered stable enough for production development.

This release includes over 500 bug fixes and improvements:

See New Features for a summary of new features in this release. If you installed Beta 1, see Changes Since 3.0 Beta 1 for a summary of new features and bug fixes since Beta 1.

Changes Since 3.0 Beta 1

This release includes several new features related to the Android action bar.

These features are described in more detail in Android Action Bar Support.

The following issues have been fixed since 3.0 Beta 1:

New Features in this Release

This section lists major new features in this release.

On-Device Debugging

This release adds support for on-device debugging on Android and iOS. For iOS, on-device debugging requires that both the device and the computer running Studio are on the same Wi-Fi network. On Android, debugging takes places over a USB connection.

For details, see the following topics in the Titanium Guides:

Alloy Framework

This release coincides with the release of Alloy, a model-view-controller (MVC) framework for Titanium.

Alloy is installed automatically if you install Titanium Studio 3.0. If you're using Titanium from the command line, you can install Alloy manually using npm.

For installation instructions and an introduction to the Alloy framework, see:

Titanium Command-Line Interface

This release includes a preview of a new, Node.js-based command-line interface, titanium, intended to replace the Python titanium.py and builder.py scripts. For this release, some tasks are delegated to the Python scripts, so Python is still required to build projects.

For this release, Studio installs the new CLI but uses the old build scripts by default. To enable the new CLI when building projects with SDK 3.0 and later:

  1. Click Window > Preferences (Windows/Linux) or Titanium Studio > Preferences (OS X).
  2. Open Titanium Studio then Titanium.
  3. Check "Use the new CLI for SDK 3.0+"

If you are not using Studio, you can install the new CLI using npm.

In addition to creating and building application and module projects, the titanium CLI can also manage downloading and installing titanium SDKs. The CLI will also serve as a front-end to other Appcelerator command-line tools, such as the Alloy command-line interface.

The CLI is currently considered to be Beta quality. In particular, for Alloy projects it may be necessary to use the Alloy command-line interface directly, and the legacy Python CLI is still required to create and build iOS and Android native modules.

For details, see:

UI Event Bubbling Changes

In the Titanium SDK, UI events bubble up to the parent view. Whether an event bubbles depends on the type of event, and the type of view in which it occurred. In previous releases there has not been a clear definition of which events bubble, and in which views.
In addition, there was no way for the developer to stop a given event from bubbling up.

This release introduces some controls for event bubbling, without changing the default behavior for event bubbling -- that is, if you make no changes to your application, event bubbling should occur exactly as it did in Release 2.X. The event bubbling changes are supported in iOS and Android at this point. Support will be added for Mobile Web in a future release.

Event Bubbling Chain

UI events can bubble up from the view that was actually touched through parent views (objects that inherit from Ti.UI.View), as well as certain "view-like" objects which act as containers for views.

For example, a TableViewSection object acts as a container for TableViewRow objects. However, in iOS, the TableViewSection is not itself a view. Since it serves as a logical container for views, it takes part in the bubbling chain. From the point of view of event bubbling, the section acts as parent to the rows it contains, and the table acts as parent for its rows.

Top-level containers, such as windows, have no parents in the view hierarchy, so event bubbling ends when it reaches a top-level container. Top-level containers include:

Bubbling and Non-Bubbling Events

Events that represent user input (click, touchmove, swipe) are bubbling events. Other events, such as focus and scroll, are view-specific. They represent views reacting to user input, and they do not bubble.

The following events bubble:

That is, all of the events defined by Titanium.UI.View except 'postlayout'.

Event Bubbling API Changes

This release adds several features that allow more control over event bubbling. The Titanium.Event object has two new properties:

APITypeDescription
bubbles boolean

Indicates whether the event can bubble. This property is set at creation time and cannot be changed. For events fired by the Titanium SDK, this property is set to ensure that event-bubbling behavior matches the 2.X event bubbling behavior.

When firing custom events, `bubbles` can be specified as part of the event data to enable or disable bubbling.

cancelBubble boolean If `true`, stops the event from propagating any further. The `cancelBubble` property is always `false` when an event handler is invoked. While handling the event, the application can set `cancelBubble` to true to prevent any further bubbling.

In addition, all views and view-like objects have a new bubbleParent property, which determines whether the view bubbles to its parent. This property is read/write. By default, bubbleParent is set so that event bubbling behavior for a given view matches its 2.X event bubbling behavior. This property is defined as a property of Titanium.Proxy--the parent of all Titanium objects. However, the property is only used on views and view-like objects that act as containers for views.

Event Bubbling Notes

Android Action Bar Support

This release includes partial support for the Android action bar element. In particular, the following features are supported:

The following features are not supported:

To enable the action bar features, applications must be built with a target SDK version of 11 (Android 3.0/Honeycomb) or higher. For expanding and collapsing action items, the target SDK version must be at least 14. To set the target SDK version, add code like this in your tiapp.xml file:

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <tool-api-level>11</tool-api-level>
    <manifest>
        <uses-sdk android:targetSdkVersion="11"/>
        <!-- other manifest entries -->
    </manifest>
</android>

The tool-api-level identifies the version of the Android tools to use. If in doubt, use a recent version, such as 15. This does not have to correspond to the targetSdkVersion.

For tab groups, the new action bar tabs will automatically be used on devices that support them. Note that with the new-style tab group, all of the windows in a tab group share a single activity, so if you are trying to set the contents of the options menu separately for each tab window, this will not work.

For action items, you can add items to the action bar by creating menu items and specifying the new showAsAction property to SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM, SHOW_AS_ACTION_WITH_TEXT or SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW. For example:

win1.activity.onCreateOptionsMenu = function(e) {
    var menu = e.menu;
    var menuItem = menu.add({
        title : "Item 1",
        icon : "images/random_icon.png",
        showAsAction : Ti.Android.SHOW_AS_ACTION_IF_ROOM
    });
    menuItem.addEventListener("click", function(e) {
        Ti.API.info("Action Item Clicked!");
    });
};

(Use TabGroup.getActivity to obtain the activity for the tab group.)

Since the options menu is considered always open when the action bar is in use, onCreateOptionsMenu is only called when the window or tab group is opened. To force the onCreateOptionsMenu method to be executed again, call Activity.invalidateOptionsMenu.

In previous releases, only a few menu item properties could be specified in the add method. In this release, the add method has been extended to accept all of the properties that are useful at creation time.

Android has very specific guidelines for action item icons, including density-specific size requirements. So you'll probably want to generate icons for each density and store them in the density-specific folders in Resources/android. For example, Resources/android/images/res-hdpi.

To specify a view to use in place of the the default action item button, use the actionView property. If showAsAction is set to SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW is specified, the icon or title is shown when the item is collapsed, and the action view is shown when the item is expanded. There are also two new methods, expandActionView and collapseActionView, and accompanying expand and collapse events.

When you add an action view to an action bar, the native view underlying the Titanium view is inserted into the action bar.

Direct access to some action bar methods and properties is available through the Activity.actionBar property. The activity and action bar objects are not created until the associated window or tab group is opened. Initial updates to these objects should be done in the open event handler for the window or tab group.

Currently, the tab group activity is only available from using the TabGroup.getActivity method.

To receive a callback when the home icon is clicked, set the ActionBar.onHomeIconItemSelected property to a callback function:

win.addEventListener("open", function(evt) {
    var actionBar = win.activity.actionBar;
    actionBar.onHomeIconItemSelected = function() {
        Ti.API.info("Home clicked!");
    };  
});

You can use the ActionBar title, backgroundImage, icon, and logo properties to set the title, app icon, and app logo used in the action bar, respectively. Set the ActionBar.displayHomeAsUp property to true to display the "up" affordance. ActionBar also provides show and hide methods to show and hide the actionbar. For example, to show the "up" affordance on a tab group's action bar you could use code like this:

var activity = tabGroup.getActivity();
if (activity != undefined && activity.actionBar != undefined) {
    activity.actionBar.displayHomeAsUp = true;
}

See also:

Accessibility Features

This release includes support for voice-over accessibility features on iOS and Android. All view elements support a set of new accessibility properties, which can be used to specify the voice-over text associated with a given UI element.

PropertyDescription
accessibilityHidden Whether the view should be "hidden" from (i.e., ignored by) the accessibility service.
accessibilityHint Briefly describes what performing an action (such as a click) on the view will do.
accessibilityLabel A succinct label identifying the view for the device's accessibility service.
accessibilityValue A string describing the value (if any) of the view for the device's accessibility service.

In addition, there are several new system-level events related to accessibility. The new accessibilityChanged, event is fired when the system's accessibility mode is changed.

The application can also fire a system event to ask the system to make a voice announcement. On iOS the application can also fire events to notify the accessibility system that the layout or current screen has changed. For details on these events, see the discussion on the Ti.App reference page.

Titanium Studio iOS Packaging Change

In this release, there is a change to Titanium Studio's handling of iOS builds for distribution. When you select Package > Distribute - Ad Hoc/Enterprise, the build is saved to the designated folder, but not saved to the Xcode organizer. When you select Package > Distribute - Apple iTunes Store, the build is saved to the Xcode organizer. This functionality may change in the general availability (GA) release.

Known SDK Issues

The following are newly-discovered issues and regressions in this release.

Known Studio Issues

API Changes

This section lists new APIs, deprecated APIs, and APIs that have been removed from the SDK.

New APIs

The following APIs are new or have expanded platform support in Release 3.0.0.

APITypeNotes
BarItemType.accessibilityLabelproperty

A succint label associated with the bar item for the device's accessibility service. (New API, supported on iPhone and iPad.)

Titanium.Android.Activity.newintentevent

Fired when the activity is already running and certain flags are set in its intent. (New API, supported on Android.)

Titanium.Android.Activity.openOptionsMenumethod

Programmatically opens the options menu. (New API, supported on Android.)

Titanium.Android.MenuItem.actionViewproperty

A custom view that replaces the default menu item button. (New API, supported on Android.)

Titanium.Android.MenuItem.actionViewExpandedproperty

True if this menu item's action view has been expanded. (New API, supported on Android.)

Titanium.Android.MenuItem.collapseevent

Fired when the action view has been collapsed. (New API, supported on Android.)

Titanium.Android.MenuItem.collapseActionViewmethod

Collapse the action view associated with this menu item. (New API, supported on Android.)

Titanium.Android.MenuItem.expandevent

Fired when the action view has been expanded. (New API, supported on Android.)

Titanium.Android.MenuItem.expandActionViewmethod

Expand the action view associated with this menu item. (New API, supported on Android.)

Titanium.Android.MenuItem.getActionViewmethod

Gets the value of the actionView property. (New API, supported on Android.)

Titanium.Android.MenuItem.setActionViewmethod

Sets the value of the actionView property. (New API, supported on Android.)

Titanium.Android.MenuItem.setShowAsActionmethod

Sets the value of the showAsAction property. (New API, supported on Android.)

Titanium.Android.MenuItem.showAsActionproperty

A set of flags that controls how this item appears in the action bar. (New API, supported on Android.)

Titanium.Android.SHOW_AS_ACTION_ALWAYSproperty

Always show this item as an action button in the action bar. (New API, supported on Android.)

Titanium.Android.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEWproperty

The action view can collapse to a normal menu item. (New API, supported on Android.)

Titanium.Android.SHOW_AS_ACTION_IF_ROOMproperty

Show this item as an action button if the system decides there is room for it. (New API, supported on Android.)

Titanium.Android.SHOW_AS_ACTION_NEVERproperty

Never display this item as an action button in the action bar. (New API, supported on Android.)

Titanium.Android.SHOW_AS_ACTION_WITH_TEXTproperty

When this item is in the action bar, always show it with a text label. (New API, supported on Android.)

Titanium.App.EVENT_ACCESSIBILITY_ANNOUNCEMENTproperty

Convenience constant for system event "accessibilityannouncement". (New API, supported on Android, iPhone and iPad.)

Titanium.App.EVENT_ACCESSIBILITY_CHANGEDproperty

Convenience constant for system event "accessibilitychanged". (New API, supported on Android, iPhone and iPad.)

Titanium.App.Properties.changeevent

Fired when a property is changed. (New API, supported on iPhone and iPad.)

Titanium.App.accessibilitychangedevent

Fired by the system when the device's accessibility service is turned on or off. (New API, supported on Android, iPhone and iPad.)

Titanium.App.disableNetworkActivityIndicatorproperty

Prevents network activity indicator from being displayed. (New API, supported on iPhone and iPad.)

Titanium.App.fireSystemEventmethod

Fire a system-level event such as Titanium.App.EVENT_ACCESSIBILITY_ANNOUNCEMENT. (New API, supported on Android, iPhone and iPad.)

Titanium.App.getDisableNetworkActivityIndicatormethod

Gets the value of the disableNetworkActivityIndicator property. (New API, supported on iPhone and iPad.)

Titanium.App.iOS.EVENT_ACCESSIBILITY_LAYOUT_CHANGEDproperty

Convenience constant for system event "accessibilitylayoutchanged". (New API, supported on iPhone and iPad.)

Titanium.App.iOS.EVENT_ACCESSIBILITY_SCREEN_CHANGEDproperty

Convenience constant for system event "accessibilityscreenchanged". (New API, supported on iPhone and iPad.)

Titanium.App.keyboardframechangedevent

Fired when the soft keyboard is presented, on and off the screen. (New API, supported on iPhone and iPad.)

Titanium.App.setDisableNetworkActivityIndicatormethod

Sets the value of the disableNetworkActivityIndicator property. (New API, supported on iPhone and iPad.)

Titanium.Blob.imageAsCroppedmethod

Creates a new blob by cropping the underlying image to the specified dimensions. (Added support for Android.)

Titanium.Blob.imageAsResizedmethod

Creates a new blob by resizing and scaling the underlying image to the specified dimensions. (Added support for Android.)

Titanium.Blob.imageAsThumbnailmethod

Returns a thumbnail version of the underlying image, optionally with a border and rounded corners. (Added support for Android.)

Titanium.Blob.imageWithAlphamethod

Returns a copy of the underlying image with an added alpha channel. (Added support for Android.)

Titanium.Blob.imageWithRoundedCornermethod

Returns a copy of the underlying image with rounded corners added. (Added support for Android.)

Titanium.Blob.imageWithTransparentBordermethod

Returns a copy of the underlying image with an added transparent border. (Added support for Android.)

Titanium.Contacts.savemethod

Commits all pending changes to the underlying contacts database. (Added support for Android.)

Titanium.Event.bubblesproperty

True if the event will try to bubble up if possible. (New API, supported on iPhone, iPad and Android.)

Titanium.Event.cancelBubbleproperty

Set to true to stop the event from bubbling. (New API, supported on iPhone, iPad and Android.)

Titanium.Geolocation.MobileWeb.bubbleParentproperty

Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.)

Titanium.Geolocation.MobileWeb.getBubbleParentmethod

Gets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.Geolocation.MobileWeb.setBubbleParentmethod

Sets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.Map.View.hideAnnotationWhenTouchMapproperty

Hide the annotation when clicking in the map view outside of the annotation. (New API, supported on Android.)

Titanium.Map.View.latitudeDeltaproperty

The amount of north-to-south distance displayed on the map, measured in decimal degrees. (Added support for Android.)

Titanium.Map.View.longitudeDeltaproperty

The amount of east-to-west distance displayed on the map, measured in decimal degrees. (Added support for Android.)

Titanium.Map.View.regionchangedevent

Fired when the mapping region changes. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.Media.MusicPlayer.playingchangeevent

Fired when the currently playing media item changes. (New API, supported on iPhone and iPad.)

Titanium.Media.MusicPlayer.statechangeevent

Fired when the music player's playback state changes. (New API, supported on iPhone and iPad.)

Titanium.Media.MusicPlayer.volumechangeevent

Fired when the volume changes. (New API, supported on iPhone and iPad.)

Titanium.Media.VideoPlayer.durationavailableevent

Fired when the video duration is available. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.Media.VideoPlayer.mediatypesavailableevent

Fired when the media types in the current movie are determined. (New API, supported on iPhone and iPad.)

Titanium.Media.VideoPlayer.naturalsizeavailableevent

Fired when the natural size of the current movie is determined. (New API, supported on iPhone and iPad.)

Titanium.Media.VideoPlayer.playbackstateevent

Fired when the playbackState changes. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.Media.VideoPlayer.sourcechangeevent

Fired when the sourceType property changes. (New API, supported on iPhone and iPad.)

Titanium.Network.BonjourBrowser.updatedservicesevent

Fired when the discovered services list is updated (New API, supported on iPhone and iPad.)

Titanium.Platform.getManufacturermethod

Gets the value of the manufacturer property. (New API, supported on Android, iPhone and iPad.)

Titanium.Platform.manufacturerproperty

Manufacturer of the device. (New API, supported on Android, iPhone and iPad.)

Titanium.Proxy.applyPropertiesmethod

Applies the properties to the proxy. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.Proxy.bubbleParentproperty

Indicates if the proxy will bubble an event to its parent. (New API, supported on iPhone, iPad and Android.)

Titanium.Proxy.getBubbleParentmethod

Gets the value of the bubbleParent property. (New API, supported on iPhone, iPad and Android.)

Titanium.Proxy.setBubbleParentmethod

Sets the value of the bubbleParent property. (New API, supported on iPhone, iPad and Android.)

Titanium.UI.AUTOLINK_ALLproperty

Converts all detectable types of data into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AUTOLINK_EMAIL_ADDRESSESproperty

Converts strings formatted as email addresses into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AUTOLINK_MAP_ADDRESSESproperty

Converts strings formatted as addresses into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AUTOLINK_NONEproperty

Disables converting strings into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AUTOLINK_PHONE_NUMBERSproperty

Converts strings formatted as phone numbers into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AUTOLINK_URLSproperty

Converts strings formatted as URLs into clickable links. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.ActivityIndicatorStylemodule

A set of constants for the styles available for Titanium.UI.ActivityIndicator objects. (Added support for Android.)

Titanium.UI.AlertDialog.getPersistentmethod

Gets the value of the persistent property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AlertDialog.getStylemethod

Gets the value of the style property. (New API, supported on iPhone and iPad.)

Titanium.UI.AlertDialog.persistentproperty

Boolean value indicating if the alert dialog should only be cancelled by user gesture or by hide method. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AlertDialog.setPersistentmethod

Sets the value of the persistent property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.AlertDialog.setStylemethod

Sets the value of the style property. (New API, supported on iPhone and iPad.)

Titanium.UI.AlertDialog.styleproperty

The style for the alert dialog. (New API, supported on iPhone and iPad.)

Titanium.UI.Android.PROGRESS_INDICATOR_DETERMINANTproperty

Used with the Titanium.UI.Android.ProgressIndicator.type property to indicate an ongoing activity of determinate length. (New API, supported on Android.)

Titanium.UI.Android.PROGRESS_INDICATOR_DIALOGproperty

Display Titanium.UI.Android.ProgressIndicator as a modal dialog. (default) (New API, supported on Android.)

Titanium.UI.Android.PROGRESS_INDICATOR_INDETERMINANTproperty

Used with the Titanium.UI.Android.ProgressIndicator.type property to indicate an ongoing activity of indeterminate length. (default) (New API, supported on Android.)

Titanium.UI.Android.PROGRESS_INDICATOR_STATUS_BARproperty

Display Titanium.UI.Android.ProgressIndicator as a horizontal progress bar in the title of the window. (New API, supported on Android.)

Titanium.UI.Android.ProgressIndicatorobject

A progress dialog or a horizontal progress bar in the title of the window. (New API, supported on Android.)

Titanium.UI.Android.createProgressIndicatormethod

Creates and returns an instance of Titanium.UI.Android.ProgressIndicator. (New API, supported on Android.)

Titanium.UI.DashboardView.columnCountproperty

The number of columns of items in the view. (New API, supported on iPhone and iPad.)

Titanium.UI.DashboardView.dragendevent

Fired when an item finishes being dragged in edit mode. (New API, supported on iPhone and iPad.)

Titanium.UI.DashboardView.dragstartevent

Fired when an item starts being dragged in edit mode. (New API, supported on iPhone and iPad.)

Titanium.UI.DashboardView.getColumnCountmethod

Gets the value of the columnCount property. (New API, supported on iPhone and iPad.)

Titanium.UI.DashboardView.getRowCountmethod

Gets the value of the rowCount property. (New API, supported on iPhone and iPad.)

Titanium.UI.DashboardView.rowCountproperty

The number of rows of items in the view. (New API, supported on iPhone and iPad.)

Titanium.UI.ImageView.autorotateproperty

Indicates whether the image should be rotated based on exif orientation data. By default, this is false on android and true on iOS. The auto rotate behavior is not supported on Mobile Web. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.ImageView.getAutorotatemethod

Gets the value of the autorotate property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.Label.verticalAlignproperty

Vertical text alignment, specified using one of the vertical alignment constants from Titanium.UI: TEXT_VERTICAL_ALIGNMENT_BOTTOM, TEXT_VERTICAL_ALIGNMENT_CENTER, or TEXT_VERTICAL_ALIGNMENT_TOP. (Added support for iPhone, iPad and Android.)

Titanium.UI.MobileWeb.NavigationGroup.accessibilityHiddenproperty

Whether the view should be "hidden" from (i.e., ignored by) the accessibility service. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.accessibilityHintproperty

Briefly describes what performing an action (such as a click) on the view will do. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.accessibilityLabelproperty

A succint label identifying the view for the device's accessibility service. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.accessibilityValueproperty

A string describing the value (if any) of the view for the device's accessibility service. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.bubbleParentproperty

Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityHiddenmethod

Gets the value of the accessibilityHidden property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityHintmethod

Gets the value of the accessibilityHint property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityLabelmethod

Gets the value of the accessibilityLabel property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityValuemethod

Gets the value of the accessibilityValue property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.getBubbleParentmethod

Gets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityHiddenmethod

Sets the value of the accessibilityHidden property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityHintmethod

Sets the value of the accessibilityHint property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityLabelmethod

Sets the value of the accessibilityLabel property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityValuemethod

Sets the value of the accessibilityValue property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.NavigationGroup.setBubbleParentmethod

Sets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.TableViewSeparatorStyle.bubbleParentproperty

Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.TableViewSeparatorStyle.getBubbleParentmethod

Gets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.TableViewSeparatorStyle.setBubbleParentmethod

Sets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.bubbleParentproperty

Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.getBubbleParentmethod

Gets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.MobileWeb.setBubbleParentmethod

Sets the value of the bubbleParent property. (New API, supported on Mobile Web.)

Titanium.UI.OptionDialog.getPersistentmethod

Gets the value of the persistent property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.OptionDialog.persistentproperty

Boolean value indicating if the option dialog should only be cancelled by user gesture or by hide method. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.OptionDialog.setPersistentmethod

Sets the value of the persistent property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.Picker.clickevent

Fired when the device detects a click against the view. (New API, supported on Android.)

Titanium.UI.ScrollView.dragendevent

Fired when the scrollable region stops being dragged. (New API, supported on iPhone, iPad and Mobile Web.)

Titanium.UI.ScrollView.dragstartevent

Fired when the scrollable region starts being dragged. (New API, supported on iPhone, iPad and Mobile Web.)

Titanium.UI.ScrollView.scrollendevent

Fired when the view has stopped moving completely. (New API, supported on Mobile Web.)

Titanium.UI.ScrollView.scrollingEnabledproperty

Determines whether scrolling is enabled for the view. (New API, supported on iPhone, iPad, Android and Mobile Web.)

Titanium.UI.ScrollableView.dragendevent

Fired when the scrolling drag gesture on the view has been completed. (New API, supported on Android and Mobile Web.)

Titanium.UI.ScrollableView.dragstartevent

Fired when the scrollable region starts being dragged. (New API, supported on Mobile Web.)

Titanium.UI.ScrollableView.scrollendevent

Fired when the view has stopped moving completely. (New API, supported on iPhone, iPad, Android and Mobile Web.)

Titanium.UI.ScrollableView.scrollingEnabledproperty

Determines whether scrolling is enabled for the view. (Added support for Mobile Web.)

Titanium.UI.Slider.getLeftTrackLeftCapmethod

Gets the value of the leftTrackLeftCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.getLeftTrackTopCapmethod

Gets the value of the leftTrackTopCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.getRightTrackLeftCapmethod

Gets the value of the rightTrackLeftCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.getRightTrackTopCapmethod

Gets the value of the rightTrackTopCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.leftTrackLeftCapproperty

Size of the left end cap for the leftTrackImage, disabledLeftTrackImage, highlightedLeftTrackImage and selectedLeftTrackImage properties. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.leftTrackTopCapproperty

Size of the top end cap for the leftTrackImage, disabledLeftTrackImage, highlightedLeftTrackImage and selectedLeftTrackImage properties. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.rightTrackLeftCapproperty

Size of the left end cap for the rightTrackImage, disabledRightTrackImage, highlightedRightTrackImage and selectedRightTrackImage properties. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.rightTrackTopCapproperty

Size of the top end cap for the rightTrackImage, disabledRightTrackImage, highlightedRightTrackImage and selectedRightTrackImage properties. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.setLeftTrackLeftCapmethod

Sets the value of the leftTrackLeftCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.setLeftTrackTopCapmethod

Sets the value of the leftTrackTopCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.setRightTrackLeftCapmethod

Sets the value of the rightTrackLeftCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.Slider.setRightTrackTopCapmethod

Sets the value of the rightTrackTopCap property. (New API, supported on iPhone and iPad.)

Titanium.UI.TabGroup.tabsBackgroundColorproperty

Default background color for inactive tabs, as a color name or hex triplet. (Added support for Android, iPhone and iPad.)

Titanium.UI.TabGroup.tabsBackgroundSelectedColorproperty

Default background selected color for tabs, as a color name or hex triplet. (Added support for Android.)

Titanium.UI.TableView.appendSectionmethod

Appends a single section or an array of sections to the end of the table. (New API, supported on Android, Mobile Web, iPhone and iPad.)

Titanium.UI.TableView.deleteSectionmethod

Deletes an existing section. (New API, supported on Android, Mobile Web, iPhone and iPad.)

Titanium.UI.TableView.dragendevent

Fired when the scrollable region stops being dragged. (New API, supported on iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.dragstartevent

Fired when the scrollable region starts being dragged. (New API, supported on iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.getSectionCountmethod

Gets the value of the sectionCount property. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.getSectionsmethod

Gets the value of the sections property. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.insertSectionAftermethod

Inserts a section after another section. (New API, supported on Android, Mobile Web, iPhone and iPad.)

Titanium.UI.TableView.insertSectionBeforemethod

Inserts a section before another section. (New API, supported on Android, Mobile Web, iPhone and iPad.)

Titanium.UI.TableView.scrollendevent

fired when the table view stops scrolling (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.sectionCountproperty

Number of sections in this table view. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.sectionsproperty

Sections of this table. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.selectRowmethod

Programmatically selects a row. In Android, it sets the currently selected item. If in touch mode, the item will not be selected but it will still be positioned appropriately. If the specified selection position is less than 0, then the item at position 0 will be selected. (Added support for Android.)

Titanium.UI.TableView.setSectionsmethod

Sets the value of the sections property. (New API, supported on Android, iPhone, iPad and Mobile Web.)

Titanium.UI.TableView.updateSectionmethod

Updates an existing section, optionally with animation (New API, supported on Android, Mobile Web, iPhone and iPad.)

Titanium.UI.TextArea.autoLinkproperty

Automatically convert text to clickable links. (Added support for Android.)

Titanium.UI.TextArea.maxLengthproperty

Maximum length of text field input. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextArea.setSelectionmethod

Selects the text in range (start, end). (New API, supported on Android, iPhone and iPad.)

Titanium.UI.TextField.autoLinkproperty

Automatically convert text to clickable links. (New API, supported on Android.)

Titanium.UI.TextField.getAutoLinkmethod

Gets the value of the autoLink property. (New API, supported on Android.)

Titanium.UI.TextField.maxLengthproperty

Maximum length of text field input. (Added support for Android.)

Titanium.UI.TextField.setAutoLinkmethod

Sets the value of the autoLink property. (New API, supported on Android.)

Titanium.UI.TextField.setSelectionmethod

Selects the text in range (start, end). (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_AUTHENTICATIONproperty

Authentication error code reported via Titanium.UI.WebView.error. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_BAD_URLproperty

Bad url error code reported via Titanium.UI.WebView.error. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_CONNECTproperty

Error code reported via Titanium.UI.WebView.error for a failure to connect to host. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_FILEproperty

Error code reported via Titanium.UI.WebView.error for a failure to access a file resource on a host, except "file not found", which has its own constant. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_FILE_NOT_FOUNDproperty

Error code reported via Titanium.UI.WebView.error when a requested file does not exist on the host. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_HOST_LOOKUPproperty

Error code reported via Titanium.UI.WebView.error when a host name cannot be resolved, such as via a DNS lookup error. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_REDIRECT_LOOPproperty

Error code reported via Titanium.UI.WebView.error when a redirect loop is detected. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_SSL_FAILEDproperty

Error code reported via Titanium.UI.WebView.error for an SSL failure. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_TIMEOUTproperty

Error code reported via Titanium.UI.WebView.error when a timeout occurs. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_UNKNOWNproperty

Error code reported via Titanium.UI.WebView.error when an unknown error occurs. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.URL_ERROR_UNSUPPORTED_SCHEMEproperty

Error code reported via Titanium.UI.WebView.error when a url contains an unsupported scheme. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.accessibilityHiddenproperty

Whether the view should be "hidden" from (i.e., ignored by) the accessibility service. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.accessibilityHintproperty

Briefly describes what performing an action (such as a click) on the view will do. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.accessibilityLabelproperty

A succint label identifying the view for the device's accessibility service. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.accessibilityValueproperty

A string describing the value (if any) of the view for the device's accessibility service. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.getAccessibilityHiddenmethod

Gets the value of the accessibilityHidden property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.getAccessibilityHintmethod

Gets the value of the accessibilityHint property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.getAccessibilityLabelmethod

Gets the value of the accessibilityLabel property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.getAccessibilityValuemethod

Gets the value of the accessibilityValue property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.setAccessibilityHiddenmethod

Sets the value of the accessibilityHidden property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.setAccessibilityHintmethod

Sets the value of the accessibilityHint property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.setAccessibilityLabelmethod

Sets the value of the accessibilityLabel property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.setAccessibilityValuemethod

Sets the value of the accessibilityValue property. (New API, supported on Android, iPhone and iPad.)

Titanium.UI.View.twofingertapevent

Fired when the device detects a two-finger tap against the view. (Added support for Android.)

Titanium.UI.WebView.getHideLoadIndicatormethod

Gets the value of the hideLoadIndicator property. (New API, supported on iPhone and iPad.)

Titanium.UI.WebView.hideLoadIndicatorproperty

Hides activity indicator when loading remote URL. (New API, supported on iPhone and iPad.)

Titanium.UI.WebView.setHideLoadIndicatormethod

Sets the value of the hideLoadIndicator property. (New API, supported on iPhone and iPad.)

Titanium.UI.Window.androidbackevent

Fired when the back button is pressed by the user. (New API, supported on Android.)

Titanium.UI.Window.androidcameraevent

Fired when the Camera button is released. (New API, supported on Android.)

Titanium.UI.Window.androidfocusevent

Fired when the Camera button is half-pressed then released. (New API, supported on Android.)

Titanium.UI.Window.androidsearchevent

Fired when the Search button is released. (New API, supported on Android.)

Titanium.UI.Window.androidvoldownevent

Fired when the volume down button is released. (New API, supported on Android.)

Titanium.UI.Window.androidvolupevent

Fired when the volume up button is released. (New API, supported on Android.)

Titanium.UI.Window.orientationproperty

Current orientation of the window. (Added support for iPhone and iPad.)

Titanium.UI.iPhone.AlertDialogStyleobject

A set of constants for the style that can be used for the style property of Titanium.UI.AlertDialog. (New API, supported on iPhone and iPad.)

zoomScaleOptionobject

Optional parameter for setZoomScale method. (New API, supported on iPhone and iPad.)

Deprecated APIs

The following APIs are deprecated in Release 3.0.0.

APITypeNotes
Titanium.Android.Activity.newIntentevent

Renamed to newintent (all lowercase).

Titanium.App.keyboardFrameChangedevent

Renamed to keyboardframechanged (all lowercase).

Titanium.Map.View.regionChangedevent

Renamed to regionchanged (all lowercase).

Titanium.Media.MusicPlayer.playingChangeevent

Renamed to playingchange (all lowercase).

Titanium.Media.MusicPlayer.stateChangeevent

Renamed to statechange (all lowercase).

Titanium.Media.MusicPlayer.volumeChangeevent

Renamed to volumechange (all lowercase).

Titanium.Media.VideoPlayer.durationAvailableevent

Renamed to durationavailable (all lowercase).

Titanium.Media.VideoPlayer.mediaTypesAvailableevent

Renamed to mediatypesavailable (all lowercase).

Titanium.Media.VideoPlayer.naturalSizeAvailableevent

Renamed to naturalsizeavailable (all lowercase).

Titanium.Media.VideoPlayer.playbackStateevent

Renamed to playbackstate (all lowercase).

Titanium.Media.VideoPlayer.sourceChangeevent

Renamed to sourcechange (all lowercase).

Titanium.Network.BonjourBrowser.updatedServicesevent

Renamed to updatedservices (all lowercase).

Titanium.UI.Android.LINKIFY_ALLproperty

Use Titanium.UI.AUTOLINK_ALL instead.

Titanium.UI.Android.LINKIFY_EMAIL_ADDRESSESproperty

Use Titanium.UI.AUTOLINK_EMAIL_ADDRESSES instead.

Titanium.UI.Android.LINKIFY_MAP_ADDRESSESproperty

Use Titanium.UI.AUTOLINK_MAP_ADDRESSES instead.

Titanium.UI.Android.LINKIFY_PHONE_NUMBERSproperty

Use Titanium.UI.AUTOLINK_PHONE_NUMBERS instead.

Titanium.UI.Android.LINKIFY_WEB_URLSproperty

Use Titanium.UI.AUTOLINK_URLS instead.

Titanium.UI.DashboardView.dragEndevent
Titanium.UI.DashboardView.dragStartevent
Titanium.UI.ScrollableView.dragEndevent

Renamed to dragend (all lowercase).

Titanium.UI.ScrollableView.dragStartevent

Renamed to dragstart (all lowercase).

Titanium.UI.ScrollableView.scrollEndevent

Renamed to scrollend (all lowercase).

Titanium.UI.TableView.dragEndevent

Renamed to dragend (all lowercase).

Titanium.UI.TableView.dragStartevent

Renamed to dragstart (all lowercase).

Titanium.UI.TableView.scrollEndevent

Renamed to scrollend (all lowercase).

Titanium.UI.View.finishLayoutmethod

Use the applyProperties method to batch-update layout properties.

Titanium.UI.View.startLayoutmethod

Use the applyProperties method to batch-update layout properties.

Titanium.UI.View.updateLayoutmethod

Use the applyProperties method to batch-update layout properties.

Titanium.UI.Window.android:backevent

Renamed to androidback (without a colon).

Titanium.UI.Window.android:cameraevent

Renamed to androidcamera (without a colon).

Titanium.UI.Window.android:focusevent

Renamed to androidfocus (without a colon).

Titanium.UI.Window.android:searchevent

Renamed to androidsearch (without a colon).

Titanium.UI.Window.android:voldownevent

Renamed to androidvoldown (without a colon).

Titanium.UI.Window.android:volupevent

Renamed to androidvolup (without a colon).

Titanium.UI.iOS.AUTODETECT_ADDRESSproperty

Use Titanium.UI.AUTOLINK_MAP_ADDRESSES instead.

Titanium.UI.iOS.AUTODETECT_ALLproperty

Use Titanium.UI.AUTOLINK_ALL instead.

Titanium.UI.iOS.AUTODETECT_CALENDARproperty

Use Titanium.UI.AUTOLINK_CALENDAR instead.

Titanium.UI.iOS.AUTODETECT_LINKproperty

Use Titanium.UI.AUTOLINK_URLS instead.

Titanium.UI.iOS.AUTODETECT_NONEproperty

Use Titanium.UI.AUTOLINK_NONE instead.

Titanium.UI.iOS.AUTODETECT_PHONEproperty

Use Titanium.UI.AUTOLINK_PHONE_NUMBERS instead.

Titanium.UI.iPad.DocumentViewerobject

Use Titanium.UI.iOS.DocumentViewer instead.

Titanium.UI.iPad.createDocumentViewermethod

Use Titanium.UI.iOS.DocumentViewer instead.

Removed APIs

The following APIs have been removed in Release 3.0.0.

APITypeNotes
Titanium.Media.VideoPlayer.contentURLproperty

Use the url property instead.

Titanium.Media.VideoPlayer.getContentURLmethod
Titanium.Media.VideoPlayer.setContentURLmethod
Titanium.Network.addConnectivityListenermethod

Use the change event to monitor connectivity changes.

Titanium.Network.removeConnectivityListenermethod

Use the change event to monitor connectivity changes.

Titanium.UI.ImageView.getUrlmethod
Titanium.UI.ImageView.setUrlmethod
Titanium.UI.ImageView.urlproperty

Use image instead.

Titanium.UI.getOrientationmethod
Titanium.UI.orientationproperty

Use Titanium.UI.Window.orientationModes instead.

Titanium.UI.setOrientationmethod