Skip to content

Titanium.UI

The main Titanium.UI module.

The UI module is responsible for native user-interface components and interaction inside Titanium. The goal of the UI module is to provide a native experience along with native performance by compiling Javascript code into their native counterparts as part of the build process.

Design

The UI module is broken down into 3 major area:

  • Views - Views are containers that host visual elements such as controls or other views. Views can have their properties customized, such as their border color and radius, can fire events such as swipe events or touches, and can optionally contain a hierarchy or other views as children. In Titanium, most views are specialized to perform both a visual function and set of interaction behaviors such as Table View or Coverflow View. Views are always named with the suffix View.

  • Controls - controls, or sometimes referred as widgets, are visual elements such as sliders, buttons and switches. They provide a visual element which has a defined behavior and typical have special configuration and special events. Controls themselves are views and also inherit a views properties, functions and events.

  • Windows - Windows are typically top-level visual constructs that are the main part of your interface. An application will always have at least one window and windows can take different shapes and sizes, can have display and interaction properties such as fullscreen or modal and can be customized, such as changing their opacity or background color. Windows themselves are views and also inherit a views properties, functions and events. There are a few specialization of Windows such as a Tab Group which offer additional behavior beyond the basic Window. It is considered a best practice to use a NavigationWindow as the root of your application.

Titanium uses the Factory Pattern for constructing objects and a general naming pattern for APIs. For example, to construct a Alert Dialog, you call the method Titanium.UI.createAlertDialog. To create a TextArea, you call the method Titanium.UI.createTextArea. Once an object is created, it will be available until it goes out of scope.

Optimizations

UI objects are optimized by Titanium to not be realized into the drawing context and placed into the device UI surface until needed. That means that you can create UI objects, set their properties and add them to their hierarchy without much worry about memory or performance. When the native drawing surface needs to render a specific view or control, Titanium will automatically create the view as needed. Additionally, Titanium is optimized to also release memory once the view is no longer needed, on screen or in low memory situations. However, it's a good idea to help Titanium along in certain cases where you are no longer using objects. For example, you should call close on a Window instance when you are no longer using it. You can safely call open on the window again to re-open it.

Global Context

Prior to the release of Titanium SDK 9.0.0.GA any variable declared in app.js or alloy.js was added to a global scope. This however is no longer the case since 9.0.0.GA. However it is still possible to add variables to a global scope by adding global. in front of any variable declared in app.js or alloy.js. However you should be careful with adding variables to global context because anything added to the global context will not be garbage-collected.

In Alloy the recommended way to add global context is Alloy.Globals.

Portability

Titanium components are designed to be portable across as many platforms as it supports. However, there are cases where a device either does not support a specific feature or capability or where it support additional functionality. For cases where the device OS supports capabilities that other platforms do not, we attempt to place those capabilities in a separate namespace, such as Titanium.UI.iOS. However, in cases where the control is in a common namespace and support additional features, we continue to place that functionality directly on the object.

Events

Event listeners must be defined before their respective events are likely to be fired, otherwise they are not guaranteed to be called. The open and focus Window event listeners, for instance, must be defined before the window is opened.

Evaluating events as late as possible while bearing the above consideration in mind, however, can significantly improve application responsiveness. For example, an event listener for a click event may be defined after the parent window has been opened.

Adding eventListeners in Alloy makes sure they are bound before they are fired.

Colors

Many UI components have properties that control their color.

Colors may be specified as a hex triplet to determine the red, green and blue channels. Thus, '#000000' is specified for black, '#ff0000' for red, '#00ff00' for green, '#0000ff' for blue, and '#ffffff' for white, etc. A channel may be abbreviated when its two hex digits are identical, such as '#000', '#f00', '#0f0#', '#00f' and '#fff' for the above colors, respectively.

An additional alpha channel is supported as a prefix to the hex triplet (ARGB or AARRGGBB). So, to make the purple-like color '#ff00ff' semi-opaque, you could use an alpha value of '55', giving, '#55ff00ff' or '#5f0f'. Please note that both iOS and Android use ARGB format, while typical CSS supports RGBA.

Note that while the pound symbol, #, is not mandatory on iOS when using the hex triplet format, it is recommended to include it to provide compatibility with other platforms.

iOS and Android also accept colors specified in the form, rgb(R,G,B) and rgba(R,G,B,A), with the color channels inside the parentheses represented by integer numbers between 0 and 255 and the alpha channel by a float number between 0 and 1.0 (transparent to opaque, respectively). For example, an opaque purple could be obtained using 'rgb(255,0,255)' and a semi-opaque purple using 'rgba(255,0,255,0.3)'. Note that although this format will work if the rgb or rgba prefix is omitted, this is not officially supported and thus not recommended.

Alternatively, the following set of color names are recognized.

'aqua', 'black', 'blue', 'brown', 'cyan', 'darkgray', 'fuchsia', 'gray', 'green', 'lightgray', 'lime', 'magenta', 'maroon', 'navy', 'olive', 'orange', 'pink', 'purple', 'red', 'silver', 'teal', 'white', 'yellow'.

All color properties also accept a value of 'transparent'.

On Android, if you want to create a semi-transparent window, set the opacity property before opening the window.

On iOS, you can set a global tinting using Titanium.UI.tintColor. All child views will inherit the tint color by default and are able to override the color using tintColor on their own views. The default tintColor on iOS is the blue (system-color).

If a color property is undefined, the default color of the particular UI element is applied. If a color value is not valid on iOS, the default color is applied, whereas, on Android, the color yellow is applied.

On iOS, you may use named system colors. See the Titanium.UI.Color documentation for more details.

Dark Mode

In iOS 13 Apple introduced support for users to adopt a system-wide Dark Mode setting where the screens, view, menus, and controls use a darker color palette. You can read more about this in the Apple Human Interface Guidelines.

There are two aspects to dark mode that can be specified for your app, colors and images.

Specifying Dark Mode colors

To specify colors for dark mode, also known as semantic colors, first create a file called semantic.colors.json in the Resources directory for classic applications, or in the assets directory for Alloy applications. Then you can specify color names in the following format:

  {
    "textColor": { // the name for your color
      "dark": {
        "color": "#ff85e2", // hex color code to be set
        "alpha": "50" // can be set from a range of 0.0-100.0, integer or float
      },
      "light": "#ff1f1f" // can be a hex color (with alpha via ARGB/AARRGGBB)
    }
  }

To reference these colors in your application use the Titanium.UI.fetchSemanticColor API, this is a cross platform API that on iOS 13 and above will use the native method that checks the users system-wide setting, and in all other instances will check the Titanium.UI.semanticColorType property and return the correct color for the current setting.

You may also directly use the named of the colors as values to any color properties on UI elements.

Specifying Dark Mode images

Note: Dark Mode images are iOS only.

To specify dark mode images, use the -dark suffix on the image name. When building your app the images are set as the dark mode variant, then refer to images as normal and iOS will select the correct image dependent on the users system-wide setting.

For example given an image logo.png with @2x and @3x variants, the following dark mode images should exist:

  • logo-dark.png
  • logo-dark@2x.png
  • logo-dark@3x.png

And you would reference the image as before using logo-dark.png

Android: You can use the native app/assets/android/images/res-night folder (extend them with e.g. res-night-xxhdpi if needed) for dark-mode images.

Extends: Titanium.Module · Since: 0.4 · Platforms: android, iphone, ipad, macos

Properties #

ANIMATION_CURVE_EASE_IN#

Type: Number

Use with Animation.curve to specify an animation that starts
slowly and speeds up.

ANIMATION_CURVE_EASE_IN_OUT#

Type: Number

Use with Animation.curve to specify an animation that starts
slowly, and speeds up, then slows down at the end of the animation.

ANIMATION_CURVE_EASE_OUT#

Type: Number

Use with Animation.curve to specify an animation that starts
quickly, then slows down at the end of the animation.

ANIMATION_CURVE_LINEAR#

Type: Number

Use with Animation.curve to specify an animation that proceeds
at a constant rate.

apiName#

extended

Type: String

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Button
returns Ti.UI.Button.

ATTRIBUTE_BACKGROUND_COLOR#

Type: Number

Use with <Attribute.type> to specify a background color.

Use a color name or hex value for <Attribute.value>.

See <Attribute> for more information.

ATTRIBUTE_BASELINE_OFFSET#

Type: Number

Use with <Attribute.type> to apply a different baseline to the text.

Set <Attribute.value> to a number to specify how many pixels to raise or lower the text.

See <Attribute> for more information.

ATTRIBUTE_EXPANSION#

Type: Number

Use with <Attribute.type> to stretch the text horizontally.

Set <Attribute.value> to a float value to specify how much to stretch the text.

For iOS, the default value is 0.0 and has no minimum/maximum range specified.
For Windows, the default value is 0.0 and the valid range is between 0.5 and 1.0.

See <Attribute> for more information.

ATTRIBUTE_FONT#

Type: Number

Use with <Attribute.type> to specify a font.

Use a <Font> dictionary for <Attribute.value>.

See <Attribute> for more information.

ATTRIBUTE_FOREGROUND_COLOR#

Type: Number

Use with <Attribute.type> to specify a font color.

Use a color name or hex value for <Attribute.value>.

See <Attribute> for more information.

ATTRIBUTE_KERN#

Type: Number

Use with <Attribute.type> to specify kerning (space between characters).

Set <Attribute.value> to a float value specifying how many pixels to increase the character
spacing.

See <Attribute> for more information.

ATTRIBUTE_LETTERPRESS_STYLE#

Type: Number

Use with <Attribute.value> to use a letterpress text effect.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_TEXT_EFFECT.

See <Attribute> for more information.

ATTRIBUTE_LIGATURE#

Type: Number

Use with <Attribute.type> to enable or disable ligatures.

Set <Attribute.value> to 1 to enable ligatures, else 0 to disable.
Ligatures are only supported on certain fonts.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK (deprecated)#

Type: Number

Use with <Attribute.type> to wrap and truncate the text.

Set <Attribute.value> to a Titanium.UI.ATTRIBUTE_LINE_BREAK_* constant.

See <Attribute> for more information on type modes.

ATTRIBUTE_LINE_BREAK_BY_CHAR_WRAPPING#

Type: Number

Use with <Attribute.value> to wrap words at word boundaries.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK_BY_CLIPPING#

Type: Number

Use with <Attribute.value> to set lines to not draw past the edge of the text container.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK_BY_TRUNCATING_HEAD#

Type: Number

Use with <Attribute.value> to use ellipsis glyph at the beginning of the line for missing text.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK_BY_TRUNCATING_MIDDLE#

Type: Number

Use with <Attribute.value> to use ellipsis glyph at the middle of the line for missing text.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK_BY_TRUNCATING_TAIL#

Type: Number

Use with <Attribute.value> to use ellipsis glyph at the end of the line for missing text.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

ATTRIBUTE_LINE_BREAK_BY_WORD_WRAPPING#

Type: Number

Use with <Attribute.value> to wrap words at word boundaries.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_LINE_BREAK.

See <Attribute> for more information.

Type: Number

Use with <Attribute.type> to create a link.

Set <Attribute.value> to a URL.

Use the Label's link event to determine when the user triggers a
long press (not a click) event on the linked text.

See <Attribute> for more information.

ATTRIBUTE_OBLIQUENESS#

Type: Number

Use with <Attribute.type> to skew the text.

Set <Attribute.value> to a float value to specify how much to skew the text.

See <Attribute> for more information.

ATTRIBUTE_PARAGRAPH_STYLE#

Type: Number

Use with <Attribute.type> to manages the behaviour of string set.

Use <ParagraphAttribute> for the 'value' property in the attribute dictionary.
Range for this should be whole string.
See <Attribute> for more information on type modes.

ATTRIBUTE_SHADOW#

Type: Number

Use with <Attribute.type> to display a shadow behind the text.

Set <Attribute.value> to a Shadow dictionary.

See <Attribute> for more information.

ATTRIBUTE_STRIKETHROUGH_COLOR#

Type: Number

Use with <Attribute.type> to change the color of the horizontal line.

Use a color name or hex value for <Attribute.value>.

See <Attribute> for more information.

ATTRIBUTE_STRIKETHROUGH_STYLE#

Type: Number

Use with <Attribute.type> to place a horizontal line through the text.

Set the value property to a Titanium.UI.ATTRIBUTE_UNDERLINE_* constant.

See <Attribute> for more information.

ATTRIBUTE_STROKE_COLOR#

Type: Number

Use with <Attribute.type> to specify a color for the stroke text.

Use a color name or hex value for the value property in the attributes dictionary.

See <Attribute> for more information on type modes.

ATTRIBUTE_STROKE_WIDTH#

Type: Number

Use with <Attribute.type> to specify the width of the stroke text.

Set <Attribute.value> to a float value specifying the size of stroke width as a percentage of the
font size. A positive value displays an outline of the character, while a negative value
fills the character.

See <Attribute> for more information.

ATTRIBUTE_SUBSCRIPT_STYLE#

Type: Number

Use with <Attribute.type> to place the text in a lower position.

See <Attribute> for more information.

ATTRIBUTE_SUPERSCRIPT_STYLE#

Type: Number

Use with <Attribute.type> to place the text in an upper position.

See <Attribute> for more information.

ATTRIBUTE_TEXT_EFFECT#

Type: Number

Use with <Attribute.type> to apply a text effect.

Set <Attribute.value> to Titanium.UI.ATTRIBUTE_LETTERPRESS_STYLE to apply a
letterpress effect to the text.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_BY_WORD#

Type: Number

Use with <Attribute.value> to draw a line only underneath or through words.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_COLOR#

Type: Number

Use with <Attribute.type> to change the color of the horizontal line.

Use a color name or hex value for <Attribute.value>.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_PATTERN_DASH#

Type: Number

Use with <Attribute.value> to draw a dashed line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_PATTERN_DASH_DOT#

Type: Number

Use with <Attribute.value> to draw an alternating line of dashes and dots.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_PATTERN_DASH_DOT_DOT#

Type: Number

Use with <Attribute.value> to draw an alternating line of dashes and two dots.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_PATTERN_DOT#

Type: Number

Use with <Attribute.value> to draw a dotted line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_PATTERN_SOLID#

Type: Number

Use with <Attribute.value> to draw a solid line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_STYLE_DOUBLE#

Type: Number

Use with <Attribute.value> to draw a double line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_STYLE_NONE#

Type: Number

Use with <Attribute.value> to not draw a line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_STYLE_SINGLE#

Type: Number

Use with <Attribute.value> to draw a single line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINE_STYLE_THICK#

Type: Number

Use with <Attribute.value> to draw a thick line.

Use this constant when <Attribute.type> is either
Titanium.UI.ATTRIBUTE_UNDERLINES_STYLE or
Titanium.UI.ATTRIBUTE_STRIKETHROUGH_STYLE.

See <Attribute> for more information.

ATTRIBUTE_UNDERLINES_STYLE#

Type: Number

Use with <Attribute.type> to place a horizontal line under the text.

Set the value property to a Titanium.UI.ATTRIBUTE_UNDERLINE_* constant.

See <Attribute> for more information.

ATTRIBUTE_WRITING_DIRECTION#

Type: Number

Use with <Attribute.type> to control the direction of the text.

Set <Attribute.value> to a Titanium.UI.ATTRIBUTE_WRITING_DIRECTION_* constant.

See <Attribute> for more information on type modes.

ATTRIBUTE_WRITING_DIRECTION_EMBEDDING#

Type: Number

Use with <Attribute.value> to use the embedded text direction.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_WRITING_DIRECTION.

See <Attribute> for more information.

ATTRIBUTE_WRITING_DIRECTION_LEFT_TO_RIGHT#

Type: Number

Use with <Attribute.value> to write text left to right.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_WRITING_DIRECTION.

See <Attribute> for more information.

ATTRIBUTE_WRITING_DIRECTION_NATURAL#

Type: Number

Use with <Attribute.value> to use the
Unicode Bidirection Algorithm rules P2 and P3
to determine which direction to use.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_WRITING_DIRECTION.

See <Attribute> for more information.

ATTRIBUTE_WRITING_DIRECTION_OVERRIDE#

Type: Number

Use with <Attribute.value> to override the text direction.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_WRITING_DIRECTION.

See <Attribute> for more information.

ATTRIBUTE_WRITING_DIRECTION_RIGHT_TO_LEFT#

Type: Number

Use with <Attribute.value> to write text right to left.

Use this constant when <Attribute.type> is
Titanium.UI.ATTRIBUTE_WRITING_DIRECTION.

See <Attribute> for more information.

AUTOFILL_TYPE_ADDRESS#

Type: String

Specifies the expectation of an address.

AUTOFILL_TYPE_ADDRESS_CITY#

Type: String

Specifies the expectation of a city name.

AUTOFILL_TYPE_ADDRESS_CITY_STATE#

Type: String

Specifies the expectation of a city name combined with a state name.

AUTOFILL_TYPE_ADDRESS_LINE1#

Type: String

Specifies the expectation of the first line of a street address.

AUTOFILL_TYPE_ADDRESS_LINE2#

Type: String

Specifies the expectation of the second line of a street address.

AUTOFILL_TYPE_ADDRESS_STATE#

Type: String

Specifies the expectation of a state name.

AUTOFILL_TYPE_CARD_EXPIRATION_DATE#

Type: String

Specifies the expectation of a card expiration date.

AUTOFILL_TYPE_CARD_EXPIRATION_DAY#

Type: String

Specifies the expectation of a card expiration day.

AUTOFILL_TYPE_CARD_EXPIRATION_MONTH#

Type: String

Specifies the expectation of a card expiration month.

AUTOFILL_TYPE_CARD_EXPIRATION_YEAR#

Type: String

Specifies the expectation of a card expiration year.

AUTOFILL_TYPE_CARD_NUMBER#

Type: String

Specifies the expectation of a card number.

AUTOFILL_TYPE_CARD_SECURITY_CODE#

Type: String

Specifies the expectation of a card security code.

AUTOFILL_TYPE_COUNTRY_NAME#

Type: String

Specifies the expectation of a country name.

AUTOFILL_TYPE_EMAIL#

Type: String

Specifies the expectation of an email address.

AUTOFILL_TYPE_FAMILY_NAME#

Type: String

Specifies the expectation of a family name.

AUTOFILL_TYPE_GIVEN_NAME#

Type: String

Specifies the expectation of a given name.

AUTOFILL_TYPE_JOB_TITLE#

Type: String

Specifies the expectation of a job title.

AUTOFILL_TYPE_LOCATION#

Type: String

Specifies the expectation of a location, such as a point of interest, an address, or another way to identify a location.

AUTOFILL_TYPE_MIDDLE_NAME#

Type: String

Specifies the expectation of a middle name.

AUTOFILL_TYPE_NAME#

Type: String

Specifies the expectation of a name.

AUTOFILL_TYPE_NAME_PREFIX#

Type: String

Specifies the expectation of a prefix or title, such as 'Dr.'

AUTOFILL_TYPE_NAME_SUFFIX#

Type: String

Specifies the expectation of a suffix, such as 'Jr.'

AUTOFILL_TYPE_NEW_PASSWORD#

Type: String

Specifies the expectation of a new password.

AUTOFILL_TYPE_NICKNAME#

Type: String

Specifies the expectation of a nickname.

AUTOFILL_TYPE_ONE_TIME_CODE#

Type: String

Specifies the expectation of a single-factor SMS login code.

AUTOFILL_TYPE_ORGANIZATION_NAME#

Type: String

Specifies the expectation of an organization name.

AUTOFILL_TYPE_PASSWORD#

Type: String

Specifies the expectation of a password.

AUTOFILL_TYPE_PHONE#

Type: String

Specifies the expectation of a telephone number.

AUTOFILL_TYPE_POSTAL_CODE#

Type: String

Specifies the expectation of a postal code.

AUTOFILL_TYPE_SUBLOCALITY#

Type: String

Specifies the expectation of a sublocality.

AUTOFILL_TYPE_URL#

Type: String

Specifies the expectation of a URL.

AUTOFILL_TYPE_USERNAME#

Type: String

Specifies the expectation of an account or login name.

Type: Number

Converts all detectable types of data into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

Type: Number

Converts strings formatted as calendar events into clickable links.

Use with the Titanium.UI.TextArea.autoLink property. Two or more autolink constants can be combined using bitwise or.

Type: Number

Converts strings formatted as email addresses into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property. This property will also convert strings formatted
as URLs into clickable links.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

Type: Number

An option to detect strings with the format of a flight number from an airline.

Two or more autolink constants can be combined using bitwise or.
Use with the Titanium.UI.TextArea.autoLink property.

Type: Number

An option to detect strings with the format of information that the user might want to look up.

Two or more autolink constants can be combined using bitwise or.
Use with the Titanium.UI.TextArea.autoLink property.

Type: Number

Converts strings formatted as addresses into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

Type: Number

An option to detect strings with the format of money amounts.

Two or more autolink constants can be combined using bitwise or.
Use with the Titanium.UI.TextArea.autoLink property.

Type: Number

Disables converting strings into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

Type: Number

Converts strings formatted as phone numbers into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

Type: Number

An option to detect strings with the format of physical values (length, temperatures, etc...)

Two or more autolink constants can be combined using bitwise or.
Use with the Titanium.UI.TextArea.autoLink property.

Type: Number

An option to detect strings with the format of a tracking number from a package delivery company.

Two or more autolink constants can be combined using bitwise or.
Use with the Titanium.UI.TextArea.autoLink property.

Type: Number

Converts strings formatted as URLs into clickable links.

Two or more autolink constants can be combined using bitwise or.
On iOS:
Use with the Titanium.UI.TextArea.autoLink property. This property will also convert strings formatted
as email addresses into clickable links.

On Android:
Use with Titanium.UI.TextArea.autoLink, Titanium.UI.TextField.autoLink, and Titanium.UI.Label.autoLink properties.

availableSystemFontFamilies#

Type: Array<String>

Returns a list of font families that are provided by the system.

backgroundColor#

Type: String, Titanium.UI.Color

Sets the background color of the master view (when there are no windows or other top-level
controls displayed).

The default background color may also show through if you use semi-transparent
windows.

backgroundImage#

Type: String

Local path or URL to an image file for setting a background for the master view (when there
are no windows or other top-level controls displayed).

The default background image may also show through if you use semi-transparent
windows.

BLEND_MODE_CLEAR#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_COLOR#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_COLOR_BURN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_COLOR_DODGE#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_COPY#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DARKEN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DESTINATION_ATOP#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DESTINATION_IN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DESTINATION_OUT#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DESTINATION_OVER#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_DIFFERENCE#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_EXCLUSION#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_HARD_LIGHT#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_HUE#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_LIGHTEN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_LUMINOSITY#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_MULTIPLY#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_NORMAL#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_OVERLAY#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_PLUS_DARKER#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_PLUS_LIGHTER#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SATURATION#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SCREEN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SOFT_LIGHT#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SOURCE_ATOP#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SOURCE_IN#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_SOURCE_OUT#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BLEND_MODE_XOR#

Type: Number

Use with MaskedImage.mode to specify a blend mode.

BREAK_BALANCED#

Type: Number

Line breaking strategy balances line lengths.

BREAK_HIGH_QUALITY#

Type: Number

Line breaking uses high-quality strategy, including hyphenation.

BREAK_SIMPLE#

Type: Number

Line breaking uses simple strategy.

bubbleParent#

extended

Type: Boolean

Indicates if the proxy will bubble an event to its parent.

Some proxies (most commonly views) have a relationship to other proxies, often
established by the add() method. For example, for a button added to a window, a
click event on the button would bubble up to the window. Other common parents are
table sections to their rows, table views to their sections, and scrollable views
to their views. Set this property to false to disable the bubbling to the proxy's parent.

BUTTON_STYLE_FILLED#

Type: Number

Use with Button.style to show a solid filled button.

This is not supported on iOS and will show BUTTON_STYLE_TEXT instead.

BUTTON_STYLE_OPTION_NEGATIVE#

Type: Number

Use with Button.style to show a negative themed escape button.

This is a text-only button without a background. It is intended to be used in conjunction with
BUTTON_STYLE_OPTION_POSITIVE and
BUTTON_STYLE_OPTION_NEUTRAL to show an
escape button to exit a window or dialog such as "Cancel", "No", etc.

This is not supported on iOS and will use BUTTON_STYLE_TEXT instead.

On Android, this can be customized by the buttonBarNegativeButtonStyle attribute. By default,
Android's built-in themes will style this button the same as
BUTTON_STYLE_OPTION_NEUTRAL and
BUTTON_STYLE_TEXT.

BUTTON_STYLE_OPTION_NEUTRAL#

Type: Number

Use with Button.style to show a normal themed option button.

This is a text-only button without a background. It is intended to be used in conjunction with
BUTTON_STYLE_OPTION_POSITIVE and
BUTTON_STYLE_OPTION_NEGATIVE to show
a normal informational button.

This is not supported on iOS and will use BUTTON_STYLE_TEXT instead.

On Android, this can be customized by the buttonBarNeutralButtonStyle attribute. By default,
Android's built-in themes will style this button the same as
BUTTON_STYLE_OPTION_NEGATIVE and
BUTTON_STYLE_TEXT.

BUTTON_STYLE_OPTION_POSITIVE#

Type: Number

Use with Button.style to show a positive themed accept button.

This is a text-only button without a background. It is intended to be used in conjunction with
BUTTON_STYLE_OPTION_NEGATIVE and
BUTTON_STYLE_OPTION_NEUTRAL to show an an accept button
before closing a window or dialog such as "OK", "Yes", "Done", etc. It is typically colored
differently than a BUTTON_STYLE_TEXT themed button on iOS.

On Android, this can be customized by the buttonBarPositiveButtonStyle attribute.

By default, the Android material theme does not style this button differently than any other
text-only button. Only the holo theme will style it differently.

BUTTON_STYLE_OUTLINED#

Type: Number

Use with Button.style to show an unfilled rounded border button.

This is not supported on iOS and will show BUTTON_STYLE_TEXT instead.

BUTTON_STYLE_TEXT#

Type: Number

Use with Button.style to show a text-only button without a background.

CLIPBOARD_OPTION_EXPIRATION_DATE#

Type: String

Specifies the time and date that you want the system to remove the clipboard items from the clipboard.

Note that on macOS, setting a date in the past does not appear to invalidate items immediately, while on iOS it does.

CLIPBOARD_OPTION_LOCAL_ONLY#

Type: String

Specifies that the clipboard items should not be available to other devices through Handoff.

cutoutSize#

Type: CutoutSize

Returns the position and shape of the Android notch. Read more about the notch here.

Using Android 9+ it will return the bounding box of the Android notch. It will return top,left, widthandheight`.

DATE_PICKER_STYLE_AUTOMATIC#

Type: Number

Displays a Titanium.UI.Picker using the best visual style on the current platform for date/time selection.

On Android and iOS, a picker with this style will be shown in compact form,
where the picker will be a read-only text field which opens a selection dialog when tapped on.

Note: Prior to iOS 14, this property is only used on iOS Catalyst apps.

DATE_PICKER_STYLE_COMPACT#

Type: Number

Displays a Titanium.UI.Picker as a read-only text field which opens a selection dialog when tapped on.

Note: Prior to iOS 14, this property is only used on iOS Catalyst apps.

DATE_PICKER_STYLE_INLINE#

Type: Number

Displays a Titanium.UI.Picker as a large calendar or clock view for date/time selection.

On iOS, an inlined "time" picker will appear as a text field with spinners for hours and minutes.

DATE_PICKER_STYLE_WHEELS#

Type: Number

Displays a Titanium.UI.Picker as spinner wheels for date/time selection.

EXTEND_EDGE_ALL#

Type: Number

Specifies that all the edges of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

EXTEND_EDGE_BOTTOM#

Type: Number

Specifies that the bottom edge of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

EXTEND_EDGE_LEFT#

Type: Number

Specifies that the left edge of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

EXTEND_EDGE_NONE#

Type: Number

Specifies that none of the edges of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

EXTEND_EDGE_RIGHT#

Type: Number

Specifies that the right edge of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

EXTEND_EDGE_TOP#

Type: Number

Specifies that the top edge of the window can extend.

One of the group of constants for the Titanium.UI.Window.extendEdges property.

FACE_DOWN#

Type: Number

Constant value for face-down orientation.

FACE_UP#

Type: Number

Constant value for face-up orientation.

FILL#

Type: String

FILL behavior for UI layout.

The FILL behavior means the view will grow its size to fill its parent.

HIDDEN_BEHAVIOR_GONE#

Type: Number

Release free space when hiding an object.

HIDDEN_BEHAVIOR_INVISIBLE#

Type: Number

Keeps free space when hiding an object.

HINT_TYPE_ANIMATED#

Type: Number

Use when creating a TextField to specify the hintType as animated.

HINT_TYPE_STATIC#

Type: Number

Use when creating a TextField to specify the hintType as static.

HYPHEN_FULL#

Type: Number

Standard amount of hyphenation, useful for running text and for screens with limited space for text.

HYPHEN_FULL_FAST#

Type: Number

Same to hyphenationFrequency="full" but using faster algorithm for measuring hyphenation break points.

HYPHEN_NONE#

Type: Number

No hyphenation.

HYPHEN_NORMAL#

Type: Number

Less frequent hyphenation, useful for informal use cases, such as chat messages.

HYPHEN_NORMAL_FAST#

Type: Number

Same to hyphenationFrequency="normal" but using faster algorithm for measuring hyphenation break points.

INPUT_BORDERSTYLE_BEZEL#

Type: Number

Use a bezel-style border on the input field.

Use with the Titanium.UI.TextField.borderStyle property.

On Android, this can also be used by the Titanium.UI.TextArea.borderStyle property.

Android does not support this style and will use
INPUT_BORDERSTYLE_LINE instead.

INPUT_BORDERSTYLE_FILLED#

Type: Number

Show an enclosed border with a filled background on the input field.

This is the default Android material theme on Android.

Use with the Titanium.UI.TextField.borderStyle and Titanium.UI.TextArea.borderStyle properties.

iOS does not support this style and will use
INPUT_BORDERSTYLE_BEZEL instead.

INPUT_BORDERSTYLE_LINE#

Type: Number

Use a simple line border on the input field.

Use with the Titanium.UI.TextField.borderStyle property.

On Android, this can also be used by the Titanium.UI.TextArea.borderStyle property.

INPUT_BORDERSTYLE_NONE#

Type: Number

Use no border on the input field.

Use with the Titanium.UI.TextField.borderStyle property.

On Android, this can also be used by the Titanium.UI.TextArea.borderStyle property.

INPUT_BORDERSTYLE_ROUNDED#

Type: Number

Use a rounded-rectangle border on the input field.

Use with the Titanium.UI.TextField.borderStyle property.

On Android, this can also be used by the Titanium.UI.TextArea.borderStyle property.

INPUT_BORDERSTYLE_UNDERLINED#

Type: Number

Show an underline instead of a border around the input field.

Use with the Titanium.UI.TextField.borderStyle and Titanium.UI.TextArea.borderStyle properties.

iOS does not support this style and will use
INPUT_BORDERSTYLE_LINE instead.

INPUT_BUTTONMODE_ALWAYS#

Type: Number

Always show buttons on the input field.

INPUT_BUTTONMODE_NEVER#

Type: Number

Never show buttons on the input field.

INPUT_BUTTONMODE_ONBLUR#

Type: Number

Show buttons on the input field when it loses focus.

INPUT_BUTTONMODE_ONFOCUS#

Type: Number

Show buttons on the input field when it gains focus.

INPUT_TYPE_CLASS_NUMBER#

Type: Number

Use a keyboard with a number pad only, with the pad keyboard layout. Accepts only numbers.

Use with the Titanium.UI.TextField.inputType properties. This overrides any changes Titanium.UI.TextField.keyboardType
does to the inputType of the Android device.

INPUT_TYPE_CLASS_TEXT#

Type: Number

Use an ASCII keyboard, with the standard keyboard layout.

Use with the Titanium.UI.TextField.inputType properties. This overrides any changes Titanium.UI.TextField.keyboardType
does to the inputType of the Android device.

KEYBOARD_APPEARANCE_DARK#

Type: Number

Use the platform-specific dark keyboard appearance.

KEYBOARD_APPEARANCE_DEFAULT#

Type: Number

Use the platform-specific default keyboard appearance.

KEYBOARD_APPEARANCE_LIGHT#

Type: Number

Use the platform-specific light keyboard appearance.

KEYBOARD_TYPE_ASCII#

Type: Number

Use a keyboard supporting all characters except emoji. Defaults to English letters layout on iOS.

This keyboard type allows the end-user to enter numbers, symbols, and non-English letters too.
It just launches with the English letters keyboard layout when shown.
This type will not allow the end-user to display an emoji keyboard.

Android keyboards will typically ignore this setting and show the default language keyboard instead,
but will still not allow the end-user to enter emoji characters like iOS.

Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.

KEYBOARD_TYPE_DECIMAL_PAD#

Type: Number

Use a number pad keyboard layout showing only numbers, decimal separator, and sign character.

Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.

On iPad, this behaves the same as Titanium.UI.KEYBOARD_TYPE_DEFAULT.
type: Number

KEYBOARD_TYPE_DEFAULT#

Type: Number

Use the default keyboard, depending on the platform.

KEYBOARD_TYPE_EMAIL#

Type: Number

Use a keyboard suitable for composing email, with the standard keyboard layout.

KEYBOARD_TYPE_NAMEPHONE_PAD#

Type: Number

Use a keyboard suitable for entering names and phone numbers, with the pad keyboard layout.

KEYBOARD_TYPE_NUMBER_PAD#

Type: Number

Use a number pad keyboard layout only showing numbers for entering positive integers.

KEYBOARD_TYPE_NUMBERS_PUNCTUATION#

Type: Number

Use a keyboard supporting all characters except emoji, defaulting to numbers layout on iOS.

On iOS, this will default to showing the "Numbers and Punctuation" side of the keyboard,
but still allows the end-user to switch to other keyboards for entering letters as well.
This type will not allow the end-user to display an emoji keyboard.

On Android, this type displays a normal keyboard defaulting to the letter side,
but will not allow the end-user to enter emoji characters like iOS.

Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.

KEYBOARD_TYPE_PHONE_PAD#

Type: Number

Use a keyboard with a phone-style number pad, with the pad keyboard layout.

KEYBOARD_TYPE_TWITTER#

Type: Number

Use a keyboard optimized for twitter text entry, with easy access to the @ and

KEYBOARD_TYPE_URL#

Type: Number

Use a keyboard optimized for entering URLs, with the standard keyboard layout.

KEYBOARD_TYPE_WEBSEARCH#

Type: Number

Use a keyboard optimized for web search terms and URL entry.

Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties. This type features the space and . characters prominently.

Note: This keyboard automatically sets the return key to "Go" (localized).

LANDSCAPE_LEFT#

Type: Number

Standard landscape orientation (home button on left).

LANDSCAPE_RIGHT#

Type: Number

Reverse landscape orientation (home button on right).

lifecycleContainer#

extended

Type: Titanium.UI.Window, Titanium.UI.TabGroup

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks
will also be called on the proxy. Proxies that require the activity lifecycle will need this property set
to the appropriate containing Window or TabGroup.

LIST_ACCESSORY_TYPE_CHECKMARK#

Type: Number

Displays a checkmark on the right side of an item in a list view.

Use to indicate an item in a list is selected.

LIST_ACCESSORY_TYPE_DETAIL#

Type: Number

Displays a detail disclosure button on the right side of an item in a list view.

Use to indicate that selecting this item results in the display of a detailed view of that item.

LIST_ACCESSORY_TYPE_DISCLOSURE#

Type: Number

Displays a disclosure indicator on the right side of an item in a list view.

Use to indicate that selecting this item results in the display of another list, reflecting
the next level in the data model hierarchy.

LIST_ACCESSORY_TYPE_NONE#

Type: Number

Do not display anything on the right side of an item in a list view.

LIST_ITEM_TEMPLATE_CONTACTS#

Type: Number

A built-in style for an item with a right-aligned title label on the left side of the cell,
which is next to a left-aligned subtitle label.

The title label value and subtitle label value bind to the title and subtitle
properties, respectively, of the data item. If a property is not set, that element is not
displayed.

LIST_ITEM_TEMPLATE_DEFAULT#

Type: Number

A built-in style for an item with an image view and left-aligned title label.

The text label value and image value bind to the title and image properties, respectively,
of the data item. If a property is not set, that element is not displayed.

On Android, the image appears on the right side of the cell, and on iOS, the image appears
on the left side of the cell.

LIST_ITEM_TEMPLATE_SETTINGS#

Type: Number

A built-in style for a item with an image view; a left-aligned title label; and a
right-aligned subtitle label.

The title label value, subtitle label value and image value bind to the title, subtitle
and image properties, respectively, of the data item. If a property is not set, that
element is not displayed.

LIST_ITEM_TEMPLATE_SUBTITLE#

Type: Number

A built-in style for an item with an image view; a black, left-aligned title label across the
top of the cell and a subtitle label below it.

The title label value, subtitle label value and image value bind to the title, subtitle
and image properties, respectively, of the data item. If a property is not set, that
element is not displayed.

NOTIFICATION_DURATION_LONG#

Type: Number

Specifies a long duration for an Android Toast notification (Titanium.UI.Notification).

NOTIFICATION_DURATION_SHORT#

Type: Number

Specifies a short duration for an Android Toast notification (Titanium.UI.Notification).

overrideUserInterfaceStyle#

Type: Number

Forces the app to used assigned theme instead of the system theme.

When set to USER_INTERFACE_STYLE_DARK or
USER_INTERFACE_STYLE_LIGHT, the app will ignore
the system's current theme and use the theme assigned to this property instead.

When set to USER_INTERFACE_STYLE_UNSPECIFIED,
the app will use the system's current theme. To determine what the system's current theme is,
you must read the userInterfaceStyle property.

See UI_MODE_NIGHT_MASK.

PICKER_TYPE_COUNT_DOWN_TIMER#

Type: Number

Use a picker with a countdown timer appearance, showing hours and minutes.

For an actual countdown timer, the application is responsible for setting a timer
to update the picker values.

PICKER_TYPE_DATE#

Type: Number

Use a date picker.

PICKER_TYPE_DATE_AND_TIME#

Type: Number

Use a date and time picker.

PICKER_TYPE_PLAIN#

Type: Number

Use a plain picker (for values other than date or time).

PICKER_TYPE_TIME#

Type: Number

Use a time picker.

PORTRAIT#

Type: Number

Orientation constant for portrait mode orientation.

RETURNKEY_CONTINUE#

Type: Number

Set the return key text to "Continue".

Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.

Note: This constant is only available on iOS devices running iOS 9 or later. Older iOS
devices will display Titanium.UI.RETURNKEY_DEFAULT.

RETURNKEY_DEFAULT#

Type: Number

Use the default return key on the virtual keyboard.

Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.

On Android devices, the default return key displays a graphical arrow.

RETURNKEY_DONE#

Type: Number

Set the return key text to "Done".

RETURNKEY_EMERGENCY_CALL#

Type: Number

Set the return key text to "Emergency Call".

RETURNKEY_GO#

Type: Number

Set the return key text to "Go".

RETURNKEY_GOOGLE#

Type: Number

Set the return key text to "Google".

RETURNKEY_JOIN#

Type: Number

Set the return key text to "Join".

RETURNKEY_NEXT#

Type: Number

Set the return key text to "Next".

RETURNKEY_ROUTE#

Type: Number

Set the return key text to "Route".

Type: Number

Set the return key text to "Search".

RETURNKEY_SEND#

Type: Number

Set the return key text to "Send".

RETURNKEY_YAHOO#

Type: Number

Set the return key text to "Yahoo".

SELECTION_STYLE_DEFAULT#

Type: Number

Set the selection style to system default.

SELECTION_STYLE_NONE#

Type: Number

Set the selection style to none.

SEMANTIC_COLOR_TYPE_DARK (deprecated)#

Type: String

The value returned by Titanium.UI.semanticColorType when the device is in dark/night mode.

SEMANTIC_COLOR_TYPE_LIGHT (deprecated)#

Type: String

The value returned by Titanium.UI.semanticColorType when the device is in light/normal mode.

semanticColorType (deprecated)#

Type: String

The current mode for the device (corresponding to night/dark or light/normal)

SIZE#

Type: String

SIZE behavior for UI layout.

The SIZE behavior means the view will constrain its size fit its contents.

statusBarHeight#

Type: Number

The total height of the status bar including safe area padding.

Use this property to determine an absolute spacing to the top in full screen windows. Note: For a more flexible approach, e.g.
when allowing rotation, we recommend using the Titanium.UI.Window.safeAreaPadding property of the related window.

SWITCH_STYLE_CHECKBOX#

Type: Number

Use with Switch.style to show a checkbox.

This is supported by Android and macOS apps running on Big Sur (v11) or higher. iOS devices do not
support this style and will use SWITCH_STYLE_SLIDER instead.

SWITCH_STYLE_CHIP#

Type: Number

Use with Switch.style to show a material design checkable chip widget.

This style is only supported on Android.
On iOS, this will use SWITCH_STYLE_SLIDER instead.

SWITCH_STYLE_SLIDER#

Type: Number

Use with Switch.style to show a slidable button.

SWITCH_STYLE_TOGGLE_BUTTON#

Type: Number

Use with Switch.style to show a toggleable button.

This style is only supported on Android.
On iOS, this will use SWITCH_STYLE_SLIDER instead.

TABLE_VIEW_SEPARATOR_STYLE_NONE#

Type: Number

The row divider is hidden.

TABLE_VIEW_SEPARATOR_STYLE_SINGLE_LINE#

Type: Number

The row divider is shown as a single line.

TABS_STYLE_BOTTOM_NAVIGATION#

Type: Number

Bottom navigation style.

TABS_STYLE_DEFAULT#

Type: Number

Default tab style.

TEXT_ALIGNMENT_CENTER#

Type: Number, String

Center align text.

Use with the Titanium.UI.TextField.textAlign, Titanium.UI.Button.textAlign and
Titanium.UI.TextArea.textAlign properties.

This constant is a string on Android, and a number on iOS.

TEXT_ALIGNMENT_JUSTIFY#

Type: Number, String

Justify align text.

Use with the Titanium.UI.TextField.textAlign, Titanium.UI.Button.textAlign and
Titanium.UI.TextArea.textAlign properties.

This constant is a number on iOS and a string on Android.

TEXT_ALIGNMENT_LEFT#

Type: Number, String

Left align text.

Use with the Titanium.UI.TextField.textAlign, Titanium.UI.Button.textAlign and
Titanium.UI.TextArea.textAlign properties.

This constant is a string on Android, and a number on iOS.

TEXT_ALIGNMENT_RIGHT#

Type: Number, String

Right align text.

Use with the Titanium.UI.TextField.textAlign, Titanium.UI.Button.textAlign and
Titanium.UI.TextArea.textAlign properties.

This constant is a string on Android, and a number on iOS.

TEXT_AUTOCAPITALIZATION_ALL#

Type: Number

Auto-capitalize all text in the input field.

TEXT_AUTOCAPITALIZATION_NONE#

Type: Number

Do not auto-capitalize.

TEXT_AUTOCAPITALIZATION_SENTENCES#

Type: Number

Use sentence-style auto-capitalization in the input field.

TEXT_AUTOCAPITALIZATION_WORDS#

Type: Number

Auto-capitalize the first letter of each word in the input field.

TEXT_ELLIPSIZE_TRUNCATE_CHAR_WRAP#

Type: Number

Add ellipses before the first character that doesn't fit.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_CLIP#

Type: Number

Lines are simply not drawn past the edge of the text container.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_END#

Type: Number

Add ellipses at the end of the label if the text is too large to fit.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_MARQUEE#

Type: Number

Turns on a marquee effect of the label if the text is too large to fit. (This requires Titanium.UI.Label.focusable to be true)

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_MIDDLE#

Type: Number

Add ellipses in the middle of the label if the text is too large to fit.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_NONE#

Type: Number

Disables ellipsizing of the label. The text will be cut off if it is too long.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_START#

Type: Number

Add ellipses at the beginning of the label if the text is too large to fit.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_ELLIPSIZE_TRUNCATE_WORD_WRAP#

Type: Number

Add ellipses at word boundaries, unless the word itself doesn't fit on a single line.

One of the group of constants for the Titanium.UI.Label.ellipsize property.

TEXT_STYLE_BODY#

Type: String

The font used for body texts.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_CALLOUT#

Type: String

The font used for callouts.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_CAPTION1#

Type: String

The font used for standard captions.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_CAPTION2#

Type: String

The font used for alternate captions.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_FOOTNOTE#

Type: String

The font used in footnotes.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_HEADLINE#

Type: String

The font used for headings.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_LARGE_TITLE#

Type: String

Specifies the text style for the <Font> Object.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_SUBHEADLINE#

Type: String

The font used for subheadings.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_TITLE1#

Type: String

The font used for first level hierarchical headings.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_TITLE2#

Type: String

The font used for second level hierarchical headings.

One of the group of textStyle constants for the <Font> Object.

TEXT_STYLE_TITLE3#

Type: String

The font used for third level hierarchical headings.

One of the group of textStyle constants for the <Font> Object.

TEXT_VERTICAL_ALIGNMENT_BOTTOM#

Type: Number, String

Align text to the bottom of the view.

Use with the Titanium.UI.TextField.verticalAlign and
Titanium.UI.TextArea.verticalAlign properties.

This constant is a string on Android, and a number on iOS.

TEXT_VERTICAL_ALIGNMENT_CENTER#

Type: Number, String

Vertically align text to the center of the view.

Use with the Titanium.UI.TextField.verticalAlign and
Titanium.UI.TextArea.verticalAlign properties.

This constant is a string on Android, and a number on iOS.

TEXT_VERTICAL_ALIGNMENT_TOP#

Type: Number, String

Align text to the top of the view.

Use with the Titanium.UI.TextField.verticalAlign and
Titanium.UI.TextArea.verticalAlign properties.

This constant is a string on Android, and a number on iOS.

tintColor#

Type: String, Titanium.UI.Color

Sets the global tint color of the application. It is inherited by the child views and can be
overwritten by them using the tintColor property.

UNIT_CM#

Type: String

Unit constant representing units in centimeters.

UNIT_DIP#

Type: String

Unit constant representing units in density-independent pixels.

UNIT_IN#

Type: String

Unit constant representing units in inches.

UNIT_MM#

Type: String

Unit constant representing units in millimeters.

UNIT_PX#

Type: String

Unit constant representing units in pixels.

UNKNOWN#

Type: Number

Orientation constant representing an unknown orientation.

UPSIDE_PORTRAIT#

Type: Number

Orientation constant for inverted portrait orientation.

URL_ERROR_AUTHENTICATION#

Type: Number

Authentication error code reported via Titanium.UI.WebView.error.

URL_ERROR_BAD_URL#

Type: Number

Bad URL error code reported via Titanium.UI.WebView.error.

URL_ERROR_CONNECT#

Type: Number

Error code reported via Titanium.UI.WebView.error for a failure to connect to host.

URL_ERROR_FILE#

Type: Number

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.

URL_ERROR_FILE_NOT_FOUND#

Type: Number

Error code reported via Titanium.UI.WebView.error when a requested file does not exist on the host.

URL_ERROR_HOST_LOOKUP#

Type: Number

Error code reported via Titanium.UI.WebView.error when a host name cannot be resolved, such as via a DNS lookup error.

URL_ERROR_REDIRECT_LOOP#

Type: Number

Error code reported via Titanium.UI.WebView.error when a redirect loop is detected.

URL_ERROR_SSL_FAILED#

Type: Number

Error code reported via Titanium.UI.WebView.error for an SSL failure.

URL_ERROR_TIMEOUT#

Type: Number

Error code reported via Titanium.UI.WebView.error when a timeout occurs.

URL_ERROR_UNKNOWN#

Type: Number

Error code reported via Titanium.UI.WebView.error when an unknown error occurs.

URL_ERROR_UNSUPPORTED_SCHEME#

Type: Number

Error code reported via Titanium.UI.WebView.error when a URL contains an unsupported scheme.

USER_INTERFACE_STYLE_DARK#

Type: Number

A dark interface style.

Used in the userInterfaceStyle property. Value indicating that night/dark mode has been set.
See UI_MODE_NIGHT_YES

USER_INTERFACE_STYLE_LIGHT#

Type: Number

A light interface style.

Used in the userInterfaceStyle property. Value indicating that light/normal mode has been set.
See UI_MODE_NIGHT_NO

USER_INTERFACE_STYLE_UNSPECIFIED#

Type: Number

An unspecified interface style.

Used in the userInterfaceStyle property. Value indicating that no mode has been set.
See UI_MODE_NIGHT_UNDEFINED

userInterfaceStyle#

Type: Number

The style associated with the user interface.

Use this property to determine whether your interface should be configured with a dark or light appearance.
The default value of this trait is set to the corresponding appearance setting on the user's device.

See UI_MODE_NIGHT_MASK.

Methods #

addEventListener #

extended

Adds the specified callback as an event listener for the named event.

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to invoke when the event is fired.No

applyProperties #

extended

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that
myproxy[key] = value.

Parameters:
NameTypeSummaryOptional
propsDictionaryA dictionary of properties to apply.No

convertUnits #

Converts one type of unit to another using the metrics of the main display.

As this method does not support percentages, 0 is returned if they are specified.

Parameters:
NameTypeSummaryOptional
convertFromValueStringMeasurement and optional unit to convert from, e.g. 160, "120dip". Percentages are
not accepted.
No
convertToUnitsNumberDesired unit for the conversion result.No

Returns: Number

createMatrix2D #

Creates and returns an instance of Titanium.UI.Matrix2D.

Parameters:
NameTypeSummaryOptional
parametersMatrix2DCreationDictInitial transformation of the matrix.Yes

Returns: Titanium.UI.Matrix2D

createMatrix3D #

Creates and returns an instance of Titanium.UI.Matrix3D.

Parameters:
NameTypeSummaryOptional
parametersMatrix3DCreationDictInitial transformation of the matrix.Yes

Returns: Titanium.UI.Matrix3D

fetchSemanticColor #

Fetches the correct color to be used with a UI element dependent on the users current dark mode setting on iOS 13 and above, or the Titanium.UI.semanticColorType setting in other instances.
Will return a valid string value to be used for color properties on Android. This may be a hex string or an rgba() function.

Parameters:
NameTypeSummaryOptional
colorNameStringName of the semantic color defined in the applications colorset.No

Returns: Titanium.UI.Color, String

fireEvent #

extended

Fires a synthesized event to any registered listeners.

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
eventDictionaryA dictionary of keys and values to add to the Titanium.Event object sent to the listeners.Yes

removeEventListener #

extended

Removes the specified callback as an event listener for the named event.

Multiple listeners can be registered for the same event, so the
callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function
in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);
Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to remove. Must be the same function passed to addEventListener.No

Events #

userinterfacestyle #

Fired when the userInterfaceStyle changes.

Event Properties:
NameTypeSummary
valueNumberThe new userInterfaceStyle value.

Examples #

Color Demo

The following example demonstrates all the color formats, and color names, that are intended to be supported by Titanium. See the [description](Titanium.UI) section for details.

var colorArray = [
  '#ff00ff', '#f0f', 'rgb(255,0,255)',
  'transparent', '#55ff00ff', '#5f0f', 'rgba(255,0,255,0.3)',
  'aqua', 'black', 'blue', 'brown', 'cyan', 'darkgray', 'fuchsia', 'gray', 'green',
  'lightgray', 'lime', 'magenta', 'maroon', 'navy', 'olive', 'orange', 'pink',
  'purple', 'red', 'silver', 'teal', 'white', 'yellow',
];
var win = Ti.UI.createWindow({
  backgroundColor: 'black',
  exitOnClose: true,
  fullscreen: false,
  layout: 'vertical',
  title: 'Color Demo'
});
var rows = [];
var row;
for (var i=0, ilen = colorArray.length; i < ilen; i++){
  row = Ti.UI.createTableViewRow({
    color:'black',
    backgroundColor: colorArray[i],
    title: colorArray[i],
    height: 40
  });
  rows.push(row);
}
var table = Ti.UI.createTableView({
  data: rows,
  backgroundColor: 'white'
});
win.add(table);
win.open();

Titanium SDK Documentation