Release Notes
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.
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:
This section lists major new features in this release.
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:
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:
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:
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:
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.
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:
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:
clickdblclickdoubletaplongclicklongpresspinchsingletapswipetouchcanceltouchendtouchmovetouchstarttwofingertapThat is, all of the events defined by Titanium.UI.View except 'postlayout'.
This release adds several features that allow more control over event bubbling. The
Titanium.Event object has two new properties:
| API | Type | Description |
|---|---|---|
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 happens after native event handling. That is, native event handling (such as highlighting a view) has already happened before any event fires.
Multiple events of different types are treated separately. That is, if the user lifting
their finger triggers touchup, tap, and click events, any actions done on the
touchup event (such as setting cancelBubble) do not affect the bubbling or firing
of either tap or click events.
This release includes partial support for the Android action bar element. In particular, the following features are supported:
The following features are not supported:
Search widget in the action bar. The Android SearchView, which can be used as an action bar item, is not exposed in the Titanium API.
Alternate navigation styles, such as drop-down navigation, scrollable tabs, and drawers, are not supported. Only standard tabs are supported at this time.
Contextual action bars are not supported.
Action providers 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:
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.
| Property | Description |
|---|---|
| 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.
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.
The following are newly-discovered issues and regressions in this release.
TIMOB-11294. Android: The console log commands
don't work inside a CommonJS module on Android. The Ti.API logging commands work as normal.
This is not a regression.
TIMOB-11530. When using the Brightcove module, a TableView full of Brightcove video objects does not work properly. This issue is under investigation.
TIMOB-11537. iOS: Ti.API.timestamp results in runtime error. This is a regression and will be addressed as soon as possible.
TIMOB-11540. Runtime error in performance test. This is a regression. This issue is under investigation.
TIMOB-11541. iPad Simulator launches as iPhone Simulator. This is a regression related to the new command-line interface.
TIMOB-11555. Cannot create a cloud-enabled project using the new CLI.
TISTUD-2571. Titanium Updates: installing node modules at startup freezes Studio. This issue has been observed but does not occur regularly. If this occurs, kill Studio and restart.
TISTUD-2614. Studio fails when attempting to unpublish a Node.ACS application. You can unpublish an application from the command line using the following command:
acs unpublish -a <app_version> [ <app_name> | -d <app_dir> ]
Where
TISTUD-2625. Creating a Node.ACS project fails if there is a space in the project name.
TISTUD-2629. The Node.ACS Tail Logs command fails in Studio. You can run acs logcat from the command line instead.
acs logcat -a <app_version> [ <app_name> | -d <app_dir> ]
This section lists new APIs, deprecated APIs, and APIs that have been removed from the SDK.
The following APIs are new or have expanded platform support in Release 3.0.0.
| API | Type | Notes |
|---|---|---|
| BarItemType.accessibilityLabel | property | A succint label associated with the bar item for the device's accessibility service. (New API, supported on iPhone and iPad.) |
| Titanium.Android.Activity.newintent | event | Fired when the activity is already running and certain flags are set in its intent. (New API, supported on Android.) |
| Titanium.Android.Activity.openOptionsMenu | method | Programmatically opens the options menu. (New API, supported on Android.) |
| Titanium.Android.MenuItem.actionView | property | A custom view that replaces the default menu item button. (New API, supported on Android.) |
| Titanium.Android.MenuItem.actionViewExpanded | property | True if this menu item's action view has been expanded. (New API, supported on Android.) |
| Titanium.Android.MenuItem.collapse | event | Fired when the action view has been collapsed. (New API, supported on Android.) |
| Titanium.Android.MenuItem.collapseActionView | method | Collapse the action view associated with this menu item. (New API, supported on Android.) |
| Titanium.Android.MenuItem.expand | event | Fired when the action view has been expanded. (New API, supported on Android.) |
| Titanium.Android.MenuItem.expandActionView | method | Expand the action view associated with this menu item. (New API, supported on Android.) |
| Titanium.Android.MenuItem.getActionView | method | Gets the value of the actionView property. (New API, supported on Android.) |
| Titanium.Android.MenuItem.setActionView | method | Sets the value of the actionView property. (New API, supported on Android.) |
| Titanium.Android.MenuItem.setShowAsAction | method | Sets the value of the showAsAction property. (New API, supported on Android.) |
| Titanium.Android.MenuItem.showAsAction | property | A set of flags that controls how this item appears in the action bar. (New API, supported on Android.) |
| Titanium.Android.SHOW_AS_ACTION_ALWAYS | property | Always show this item as an action button in the action bar. (New API, supported on Android.) |
| Titanium.Android.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | property | The action view can collapse to a normal menu item. (New API, supported on Android.) |
| Titanium.Android.SHOW_AS_ACTION_IF_ROOM | property | 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_NEVER | property | Never display this item as an action button in the action bar. (New API, supported on Android.) |
| Titanium.Android.SHOW_AS_ACTION_WITH_TEXT | property | When this item is in the action bar, always show it with a text label. (New API, supported on Android.) |
| Titanium.App.EVENT_ACCESSIBILITY_ANNOUNCEMENT | property | Convenience constant for system event "accessibilityannouncement". (New API, supported on Android, iPhone and iPad.) |
| Titanium.App.EVENT_ACCESSIBILITY_CHANGED | property | Convenience constant for system event "accessibilitychanged". (New API, supported on Android, iPhone and iPad.) |
| Titanium.App.Properties.change | event | Fired when a property is changed. (New API, supported on iPhone and iPad.) |
| Titanium.App.accessibilitychanged | event | 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.disableNetworkActivityIndicator | property | Prevents network activity indicator from being displayed. (New API, supported on iPhone and iPad.) |
| Titanium.App.fireSystemEvent | method | Fire a system-level event such as Titanium.App.EVENT_ACCESSIBILITY_ANNOUNCEMENT. (New API, supported on Android, iPhone and iPad.) |
| Titanium.App.getDisableNetworkActivityIndicator | method | Gets the value of the disableNetworkActivityIndicator property. (New API, supported on iPhone and iPad.) |
| Titanium.App.iOS.EVENT_ACCESSIBILITY_LAYOUT_CHANGED | property | Convenience constant for system event "accessibilitylayoutchanged". (New API, supported on iPhone and iPad.) |
| Titanium.App.iOS.EVENT_ACCESSIBILITY_SCREEN_CHANGED | property | Convenience constant for system event "accessibilityscreenchanged". (New API, supported on iPhone and iPad.) |
| Titanium.App.keyboardframechanged | event | Fired when the soft keyboard is presented, on and off the screen. (New API, supported on iPhone and iPad.) |
| Titanium.App.setDisableNetworkActivityIndicator | method | Sets the value of the disableNetworkActivityIndicator property. (New API, supported on iPhone and iPad.) |
| Titanium.Blob.imageAsCropped | method | Creates a new blob by cropping the underlying image to the specified dimensions. (Added support for Android.) |
| Titanium.Blob.imageAsResized | method | Creates a new blob by resizing and scaling the underlying image to the specified dimensions. (Added support for Android.) |
| Titanium.Blob.imageAsThumbnail | method | Returns a thumbnail version of the underlying image, optionally with a border and rounded corners. (Added support for Android.) |
| Titanium.Blob.imageWithAlpha | method | Returns a copy of the underlying image with an added alpha channel. (Added support for Android.) |
| Titanium.Blob.imageWithRoundedCorner | method | Returns a copy of the underlying image with rounded corners added. (Added support for Android.) |
| Titanium.Blob.imageWithTransparentBorder | method | Returns a copy of the underlying image with an added transparent border. (Added support for Android.) |
| Titanium.Contacts.save | method | Commits all pending changes to the underlying contacts database. (Added support for Android.) |
| Titanium.Event.bubbles | property | True if the event will try to bubble up if possible. (New API, supported on iPhone, iPad and Android.) |
| Titanium.Event.cancelBubble | property | Set to true to stop the event from bubbling. (New API, supported on iPhone, iPad and Android.) |
| Titanium.Geolocation.MobileWeb.bubbleParent | property | Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.) |
| Titanium.Geolocation.MobileWeb.getBubbleParent | method | Gets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.Geolocation.MobileWeb.setBubbleParent | method | Sets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.Map.View.hideAnnotationWhenTouchMap | property | Hide the annotation when clicking in the map view outside of the annotation. (New API, supported on Android.) |
| Titanium.Map.View.latitudeDelta | property | The amount of north-to-south distance displayed on the map, measured in decimal degrees. (Added support for Android.) |
| Titanium.Map.View.longitudeDelta | property | The amount of east-to-west distance displayed on the map, measured in decimal degrees. (Added support for Android.) |
| Titanium.Map.View.regionchanged | event | Fired when the mapping region changes. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.Media.MusicPlayer.playingchange | event | Fired when the currently playing media item changes. (New API, supported on iPhone and iPad.) |
| Titanium.Media.MusicPlayer.statechange | event | Fired when the music player's playback state changes. (New API, supported on iPhone and iPad.) |
| Titanium.Media.MusicPlayer.volumechange | event | Fired when the volume changes. (New API, supported on iPhone and iPad.) |
| Titanium.Media.VideoPlayer.durationavailable | event | Fired when the video duration is available. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.Media.VideoPlayer.mediatypesavailable | event | Fired when the media types in the current movie are determined. (New API, supported on iPhone and iPad.) |
| Titanium.Media.VideoPlayer.naturalsizeavailable | event | Fired when the natural size of the current movie is determined. (New API, supported on iPhone and iPad.) |
| Titanium.Media.VideoPlayer.playbackstate | event | Fired when the playbackState changes. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.Media.VideoPlayer.sourcechange | event | Fired when the sourceType property changes. (New API, supported on iPhone and iPad.) |
| Titanium.Network.BonjourBrowser.updatedservices | event | Fired when the discovered services list is updated (New API, supported on iPhone and iPad.) |
| Titanium.Platform.getManufacturer | method | Gets the value of the manufacturer property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.Platform.manufacturer | property | Manufacturer of the device. (New API, supported on Android, iPhone and iPad.) |
| Titanium.Proxy.applyProperties | method | Applies the properties to the proxy. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.Proxy.bubbleParent | property | Indicates if the proxy will bubble an event to its parent. (New API, supported on iPhone, iPad and Android.) |
| Titanium.Proxy.getBubbleParent | method | Gets the value of the bubbleParent property. (New API, supported on iPhone, iPad and Android.) |
| Titanium.Proxy.setBubbleParent | method | Sets the value of the bubbleParent property. (New API, supported on iPhone, iPad and Android.) |
| Titanium.UI.AUTOLINK_ALL | property | Converts all detectable types of data into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AUTOLINK_EMAIL_ADDRESSES | property | Converts strings formatted as email addresses into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AUTOLINK_MAP_ADDRESSES | property | Converts strings formatted as addresses into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AUTOLINK_NONE | property | Disables converting strings into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AUTOLINK_PHONE_NUMBERS | property | Converts strings formatted as phone numbers into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AUTOLINK_URLS | property | Converts strings formatted as URLs into clickable links. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.ActivityIndicatorStyle | module | A set of constants for the styles available for Titanium.UI.ActivityIndicator objects. (Added support for Android.) |
| Titanium.UI.AlertDialog.getPersistent | method | Gets the value of the persistent property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AlertDialog.getStyle | method | Gets the value of the style property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.AlertDialog.persistent | property | 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.setPersistent | method | Sets the value of the persistent property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.AlertDialog.setStyle | method | Sets the value of the style property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.AlertDialog.style | property | The style for the alert dialog. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Android.PROGRESS_INDICATOR_DETERMINANT | property | 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_DIALOG | property | Display Titanium.UI.Android.ProgressIndicator as a modal dialog. (default) (New API, supported on Android.) |
| Titanium.UI.Android.PROGRESS_INDICATOR_INDETERMINANT | property | 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_BAR | property | Display Titanium.UI.Android.ProgressIndicator as a horizontal progress bar in the title of the window. (New API, supported on Android.) |
| Titanium.UI.Android.ProgressIndicator | object | A progress dialog or a horizontal progress bar in the title of the window. (New API, supported on Android.) |
| Titanium.UI.Android.createProgressIndicator | method | Creates and returns an instance of Titanium.UI.Android.ProgressIndicator. (New API, supported on Android.) |
| Titanium.UI.DashboardView.columnCount | property | The number of columns of items in the view. (New API, supported on iPhone and iPad.) |
| Titanium.UI.DashboardView.dragend | event | Fired when an item finishes being dragged in edit mode. (New API, supported on iPhone and iPad.) |
| Titanium.UI.DashboardView.dragstart | event | Fired when an item starts being dragged in edit mode. (New API, supported on iPhone and iPad.) |
| Titanium.UI.DashboardView.getColumnCount | method | Gets the value of the columnCount property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.DashboardView.getRowCount | method | Gets the value of the rowCount property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.DashboardView.rowCount | property | The number of rows of items in the view. (New API, supported on iPhone and iPad.) |
| Titanium.UI.ImageView.autorotate | property | 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.getAutorotate | method | Gets the value of the autorotate property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.Label.verticalAlign | property | 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.accessibilityHidden | property | Whether the view should be "hidden" from (i.e., ignored by) the accessibility service. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.accessibilityHint | property | 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.accessibilityLabel | property | A succint label identifying the view for the device's accessibility service. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.accessibilityValue | property | 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.bubbleParent | property | Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityHidden | method | Gets the value of the accessibilityHidden property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityHint | method | Gets the value of the accessibilityHint property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityLabel | method | Gets the value of the accessibilityLabel property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.getAccessibilityValue | method | Gets the value of the accessibilityValue property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.getBubbleParent | method | Gets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityHidden | method | Sets the value of the accessibilityHidden property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityHint | method | Sets the value of the accessibilityHint property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityLabel | method | Sets the value of the accessibilityLabel property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.setAccessibilityValue | method | Sets the value of the accessibilityValue property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.NavigationGroup.setBubbleParent | method | Sets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.TableViewSeparatorStyle.bubbleParent | property | Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.TableViewSeparatorStyle.getBubbleParent | method | Gets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.TableViewSeparatorStyle.setBubbleParent | method | Sets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.bubbleParent | property | Indicates if the proxy will bubble an event to its parent. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.getBubbleParent | method | Gets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.MobileWeb.setBubbleParent | method | Sets the value of the bubbleParent property. (New API, supported on Mobile Web.) |
| Titanium.UI.OptionDialog.getPersistent | method | Gets the value of the persistent property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.OptionDialog.persistent | property | 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.setPersistent | method | Sets the value of the persistent property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.Picker.click | event | Fired when the device detects a click against the view. (New API, supported on Android.) |
| Titanium.UI.ScrollView.dragend | event | Fired when the scrollable region stops being dragged. (New API, supported on iPhone, iPad and Mobile Web.) |
| Titanium.UI.ScrollView.dragstart | event | Fired when the scrollable region starts being dragged. (New API, supported on iPhone, iPad and Mobile Web.) |
| Titanium.UI.ScrollView.scrollend | event | Fired when the view has stopped moving completely. (New API, supported on Mobile Web.) |
| Titanium.UI.ScrollView.scrollingEnabled | property | Determines whether scrolling is enabled for the view. (New API, supported on iPhone, iPad, Android and Mobile Web.) |
| Titanium.UI.ScrollableView.dragend | event | Fired when the scrolling drag gesture on the view has been completed. (New API, supported on Android and Mobile Web.) |
| Titanium.UI.ScrollableView.dragstart | event | Fired when the scrollable region starts being dragged. (New API, supported on Mobile Web.) |
| Titanium.UI.ScrollableView.scrollend | event | Fired when the view has stopped moving completely. (New API, supported on iPhone, iPad, Android and Mobile Web.) |
| Titanium.UI.ScrollableView.scrollingEnabled | property | Determines whether scrolling is enabled for the view. (Added support for Mobile Web.) |
| Titanium.UI.Slider.getLeftTrackLeftCap | method | Gets the value of the leftTrackLeftCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.getLeftTrackTopCap | method | Gets the value of the leftTrackTopCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.getRightTrackLeftCap | method | Gets the value of the rightTrackLeftCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.getRightTrackTopCap | method | Gets the value of the rightTrackTopCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.leftTrackLeftCap | property | Size of the left end cap for the leftTrackImage, disabledLeftTrackImage, highlightedLeftTrackImage and selectedLeftTrackImage properties. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.leftTrackTopCap | property | Size of the top end cap for the leftTrackImage, disabledLeftTrackImage, highlightedLeftTrackImage and selectedLeftTrackImage properties. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.rightTrackLeftCap | property | Size of the left end cap for the rightTrackImage, disabledRightTrackImage, highlightedRightTrackImage and selectedRightTrackImage properties. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.rightTrackTopCap | property | Size of the top end cap for the rightTrackImage, disabledRightTrackImage, highlightedRightTrackImage and selectedRightTrackImage properties. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.setLeftTrackLeftCap | method | Sets the value of the leftTrackLeftCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.setLeftTrackTopCap | method | Sets the value of the leftTrackTopCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.setRightTrackLeftCap | method | Sets the value of the rightTrackLeftCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Slider.setRightTrackTopCap | method | Sets the value of the rightTrackTopCap property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.TabGroup.tabsBackgroundColor | property | Default background color for inactive tabs, as a color name or hex triplet. (Added support for Android, iPhone and iPad.) |
| Titanium.UI.TabGroup.tabsBackgroundSelectedColor | property | Default background selected color for tabs, as a color name or hex triplet. (Added support for Android.) |
| Titanium.UI.TableView.appendSection | method | 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.deleteSection | method | Deletes an existing section. (New API, supported on Android, Mobile Web, iPhone and iPad.) |
| Titanium.UI.TableView.dragend | event | Fired when the scrollable region stops being dragged. (New API, supported on iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.dragstart | event | Fired when the scrollable region starts being dragged. (New API, supported on iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.getSectionCount | method | Gets the value of the sectionCount property. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.getSections | method | Gets the value of the sections property. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.insertSectionAfter | method | Inserts a section after another section. (New API, supported on Android, Mobile Web, iPhone and iPad.) |
| Titanium.UI.TableView.insertSectionBefore | method | Inserts a section before another section. (New API, supported on Android, Mobile Web, iPhone and iPad.) |
| Titanium.UI.TableView.scrollend | event | fired when the table view stops scrolling (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.sectionCount | property | Number of sections in this table view. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.sections | property | Sections of this table. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.selectRow | method | 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.setSections | method | Sets the value of the sections property. (New API, supported on Android, iPhone, iPad and Mobile Web.) |
| Titanium.UI.TableView.updateSection | method | Updates an existing section, optionally with animation (New API, supported on Android, Mobile Web, iPhone and iPad.) |
| Titanium.UI.TextArea.autoLink | property | Automatically convert text to clickable links. (Added support for Android.) |
| Titanium.UI.TextArea.maxLength | property | Maximum length of text field input. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.TextArea.setSelection | method | Selects the text in range (start, end). (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.TextField.autoLink | property | Automatically convert text to clickable links. (New API, supported on Android.) |
| Titanium.UI.TextField.getAutoLink | method | Gets the value of the autoLink property. (New API, supported on Android.) |
| Titanium.UI.TextField.maxLength | property | Maximum length of text field input. (Added support for Android.) |
| Titanium.UI.TextField.setAutoLink | method | Sets the value of the autoLink property. (New API, supported on Android.) |
| Titanium.UI.TextField.setSelection | method | Selects the text in range (start, end). (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.URL_ERROR_AUTHENTICATION | property | Authentication error code reported via Titanium.UI.WebView.error. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.URL_ERROR_BAD_URL | property | Bad url error code reported via Titanium.UI.WebView.error. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.URL_ERROR_CONNECT | property | 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_FILE | property | 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_FOUND | property | 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_LOOKUP | property | 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_LOOP | property | 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_FAILED | property | Error code reported via Titanium.UI.WebView.error for an SSL failure. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.URL_ERROR_TIMEOUT | property | Error code reported via Titanium.UI.WebView.error when a timeout occurs. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.URL_ERROR_UNKNOWN | property | 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_SCHEME | property | 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.accessibilityHidden | property | 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.accessibilityHint | property | 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.accessibilityLabel | property | A succint label identifying the view for the device's accessibility service. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.accessibilityValue | property | 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.getAccessibilityHidden | method | Gets the value of the accessibilityHidden property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.getAccessibilityHint | method | Gets the value of the accessibilityHint property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.getAccessibilityLabel | method | Gets the value of the accessibilityLabel property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.getAccessibilityValue | method | Gets the value of the accessibilityValue property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.setAccessibilityHidden | method | Sets the value of the accessibilityHidden property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.setAccessibilityHint | method | Sets the value of the accessibilityHint property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.setAccessibilityLabel | method | Sets the value of the accessibilityLabel property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.setAccessibilityValue | method | Sets the value of the accessibilityValue property. (New API, supported on Android, iPhone and iPad.) |
| Titanium.UI.View.twofingertap | event | Fired when the device detects a two-finger tap against the view. (Added support for Android.) |
| Titanium.UI.WebView.getHideLoadIndicator | method | Gets the value of the hideLoadIndicator property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.WebView.hideLoadIndicator | property | Hides activity indicator when loading remote URL. (New API, supported on iPhone and iPad.) |
| Titanium.UI.WebView.setHideLoadIndicator | method | Sets the value of the hideLoadIndicator property. (New API, supported on iPhone and iPad.) |
| Titanium.UI.Window.androidback | event | Fired when the back button is pressed by the user. (New API, supported on Android.) |
| Titanium.UI.Window.androidcamera | event | Fired when the Camera button is released. (New API, supported on Android.) |
| Titanium.UI.Window.androidfocus | event | Fired when the Camera button is half-pressed then released. (New API, supported on Android.) |
| Titanium.UI.Window.androidsearch | event | Fired when the Search button is released. (New API, supported on Android.) |
| Titanium.UI.Window.androidvoldown | event | Fired when the volume down button is released. (New API, supported on Android.) |
| Titanium.UI.Window.androidvolup | event | Fired when the volume up button is released. (New API, supported on Android.) |
| Titanium.UI.Window.orientation | property | Current orientation of the window. (Added support for iPhone and iPad.) |
| Titanium.UI.iPhone.AlertDialogStyle | object | A set of constants for the style that can be used for the |
| zoomScaleOption | object | Optional parameter for setZoomScale method. (New API, supported on iPhone and iPad.) |
The following APIs are deprecated in Release 3.0.0.
| API | Type | Notes |
|---|---|---|
| Titanium.Android.Activity.newIntent | event | Renamed to newintent (all lowercase). |
| Titanium.App.keyboardFrameChanged | event | Renamed to keyboardframechanged (all lowercase). |
| Titanium.Map.View.regionChanged | event | Renamed to regionchanged (all lowercase). |
| Titanium.Media.MusicPlayer.playingChange | event | Renamed to playingchange (all lowercase). |
| Titanium.Media.MusicPlayer.stateChange | event | Renamed to statechange (all lowercase). |
| Titanium.Media.MusicPlayer.volumeChange | event | Renamed to volumechange (all lowercase). |
| Titanium.Media.VideoPlayer.durationAvailable | event | Renamed to durationavailable (all lowercase). |
| Titanium.Media.VideoPlayer.mediaTypesAvailable | event | Renamed to mediatypesavailable (all lowercase). |
| Titanium.Media.VideoPlayer.naturalSizeAvailable | event | Renamed to naturalsizeavailable (all lowercase). |
| Titanium.Media.VideoPlayer.playbackState | event | Renamed to playbackstate (all lowercase). |
| Titanium.Media.VideoPlayer.sourceChange | event | Renamed to sourcechange (all lowercase). |
| Titanium.Network.BonjourBrowser.updatedServices | event | Renamed to updatedservices (all lowercase). |
| Titanium.UI.Android.LINKIFY_ALL | property | Use Titanium.UI.AUTOLINK_ALL instead. |
| Titanium.UI.Android.LINKIFY_EMAIL_ADDRESSES | property | Use Titanium.UI.AUTOLINK_EMAIL_ADDRESSES instead. |
| Titanium.UI.Android.LINKIFY_MAP_ADDRESSES | property | Use Titanium.UI.AUTOLINK_MAP_ADDRESSES instead. |
| Titanium.UI.Android.LINKIFY_PHONE_NUMBERS | property | Use Titanium.UI.AUTOLINK_PHONE_NUMBERS instead. |
| Titanium.UI.Android.LINKIFY_WEB_URLS | property | Use Titanium.UI.AUTOLINK_URLS instead. |
| Titanium.UI.DashboardView.dragEnd | event | |
| Titanium.UI.DashboardView.dragStart | event | |
| Titanium.UI.ScrollableView.dragEnd | event | Renamed to dragend (all lowercase). |
| Titanium.UI.ScrollableView.dragStart | event | Renamed to dragstart (all lowercase). |
| Titanium.UI.ScrollableView.scrollEnd | event | Renamed to scrollend (all lowercase). |
| Titanium.UI.TableView.dragEnd | event | Renamed to dragend (all lowercase). |
| Titanium.UI.TableView.dragStart | event | Renamed to dragstart (all lowercase). |
| Titanium.UI.TableView.scrollEnd | event | Renamed to scrollend (all lowercase). |
| Titanium.UI.View.finishLayout | method | Use the applyProperties method to batch-update layout properties. |
| Titanium.UI.View.startLayout | method | Use the applyProperties method to batch-update layout properties. |
| Titanium.UI.View.updateLayout | method | Use the applyProperties method to batch-update layout properties. |
| Titanium.UI.Window.android:back | event | Renamed to androidback (without a colon). |
| Titanium.UI.Window.android:camera | event | Renamed to androidcamera (without a colon). |
| Titanium.UI.Window.android:focus | event | Renamed to androidfocus (without a colon). |
| Titanium.UI.Window.android:search | event | Renamed to androidsearch (without a colon). |
| Titanium.UI.Window.android:voldown | event | Renamed to androidvoldown (without a colon). |
| Titanium.UI.Window.android:volup | event | Renamed to androidvolup (without a colon). |
| Titanium.UI.iOS.AUTODETECT_ADDRESS | property | Use Titanium.UI.AUTOLINK_MAP_ADDRESSES instead. |
| Titanium.UI.iOS.AUTODETECT_ALL | property | Use Titanium.UI.AUTOLINK_ALL instead. |
| Titanium.UI.iOS.AUTODETECT_CALENDAR | property | Use Titanium.UI.AUTOLINK_CALENDAR instead. |
| Titanium.UI.iOS.AUTODETECT_LINK | property | Use Titanium.UI.AUTOLINK_URLS instead. |
| Titanium.UI.iOS.AUTODETECT_NONE | property | Use Titanium.UI.AUTOLINK_NONE instead. |
| Titanium.UI.iOS.AUTODETECT_PHONE | property | Use Titanium.UI.AUTOLINK_PHONE_NUMBERS instead. |
| Titanium.UI.iPad.DocumentViewer | object | Use Titanium.UI.iOS.DocumentViewer instead. |
| Titanium.UI.iPad.createDocumentViewer | method | Use Titanium.UI.iOS.DocumentViewer instead. |
The following APIs have been removed in Release 3.0.0.
| API | Type | Notes |
|---|---|---|
| Titanium.Media.VideoPlayer.contentURL | property | Use the url property instead. |
| Titanium.Media.VideoPlayer.getContentURL | method | |
| Titanium.Media.VideoPlayer.setContentURL | method | |
| Titanium.Network.addConnectivityListener | method | Use the change event to monitor connectivity changes. |
| Titanium.Network.removeConnectivityListener | method | Use the change event to monitor connectivity changes. |
| Titanium.UI.ImageView.getUrl | method | |
| Titanium.UI.ImageView.setUrl | method | |
| Titanium.UI.ImageView.url | property | Use image instead. |
| Titanium.UI.getOrientation | method | |
| Titanium.UI.orientation | property | Use Titanium.UI.Window.orientationModes instead. |
| Titanium.UI.setOrientation | method | |