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#
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.
ATTRIBUTE_LINK#
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_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_CARD_EXPIRATION_MONTH#
Type: String
Specifies the expectation of a card expiration month.
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_ONE_TIME_CODE#
Type: String
Specifies the expectation of a single-factor SMS login code.
AUTOLINK_ALL#
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.
AUTOLINK_CALENDAR#
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.
AUTOLINK_EMAIL_ADDRESSES#
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.
AUTOLINK_FLIGHT_NUMBER#
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.
AUTOLINK_LOOKUP_SUGGESTION#
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.
AUTOLINK_MAP_ADDRESSES#
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.
AUTOLINK_MONEY#
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.
AUTOLINK_NONE#
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.
AUTOLINK_PHONE_NUMBERS#
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.
AUTOLINK_PHYSICAL_VALUE#
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.
AUTOLINK_SHIPMENT_TRACKING_NUMBER#
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.
AUTOLINK_URLS#
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.
bubbleParent#
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.
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
FACE_UP#
Type: Number
Constant value for face-up orientation.
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
FILL#
Type: String
FILL behavior for UI layout.
The FILL behavior means the view will grow its size to fill its parent.
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_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.
Use with the Titanium.UI.TextField.clearButtonMode,
Titanium.UI.TextField.leftButtonMode,
and Titanium.UI.TextField.rightButtonMode properties.
INPUT_BUTTONMODE_NEVER#
Type: Number
Never show buttons on the input field.
Use with the Titanium.UI.TextField.clearButtonMode,
Titanium.UI.TextField.leftButtonMode,
and Titanium.UI.TextField.rightButtonMode properties.
INPUT_BUTTONMODE_ONBLUR#
Type: Number
Show buttons on the input field when it loses focus.
Use with the Titanium.UI.TextField.clearButtonMode,
Titanium.UI.TextField.leftButtonMode,
and Titanium.UI.TextField.rightButtonMode properties.
INPUT_BUTTONMODE_ONFOCUS#
Type: Number
Show buttons on the input field when it gains focus.
Use with the Titanium.UI.TextField.clearButtonMode,
Titanium.UI.TextField.leftButtonMode,
and Titanium.UI.TextField.rightButtonMode properties.
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_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.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
KEYBOARD_TYPE_EMAIL#
Type: Number
Use a keyboard suitable for composing email, with the standard keyboard layout.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
KEYBOARD_TYPE_NAMEPHONE_PAD#
Type: Number
Use a keyboard suitable for entering names and phone numbers, with the pad keyboard layout.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
KEYBOARD_TYPE_NUMBER_PAD#
Type: Number
Use a number pad keyboard layout only showing numbers for entering positive integers.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
On iPad, this behaves the same as Titanium.UI.KEYBOARD_TYPE_NUMBERS_PUNCTUATION.
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.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
On iPad, this behaves the same as Titanium.UI.KEYBOARD_TYPE_NUMBERS_PUNCTUATION.
KEYBOARD_TYPE_TWITTER#
Type: Number
Use a keyboard optimized for twitter text entry, with easy access to the @ and
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
KEYBOARD_TYPE_URL#
Type: Number
Use a keyboard optimized for entering URLs, with the standard keyboard layout.
Use with the Titanium.UI.TextField.keyboardType and Titanium.UI.TextArea.keyboardType
properties.
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).
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
LANDSCAPE_RIGHT#
Type: Number
Reverse landscape orientation (home button on right).
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
lifecycleContainer#
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.
PORTRAIT#
Type: Number
Orientation constant for portrait mode orientation.
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
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".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_EMERGENCY_CALL#
Type: Number
Set the return key text to "Emergency Call".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_GO#
Type: Number
Set the return key text to "Go".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_GOOGLE#
Type: Number
Set the return key text to "Google".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_JOIN#
Type: Number
Set the return key text to "Join".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_NEXT#
Type: Number
Set the return key text to "Next".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_ROUTE#
Type: Number
Set the return key text to "Route".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_SEARCH#
Type: Number
Set the return key text to "Search".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_SEND#
Type: Number
Set the return key text to "Send".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
RETURNKEY_YAHOO#
Type: Number
Set the return key text to "Yahoo".
Use with the Titanium.UI.TextField.returnKeyType and
Titanium.UI.TextArea.returnKeyType properties.
SELECTION_STYLE_DEFAULT#
Type: Number
Set the selection style to system default.
Use with the Titanium.UI.ListView.selectionStyle and
Titanium.UI.TableView.selectionStyle properties.
SELECTION_STYLE_NONE#
Type: Number
Set the selection style to none.
Use with the Titanium.UI.ListView.selectionStyle and
Titanium.UI.TableView.selectionStyle properties.
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_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.
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.
Use with the Titanium.UI.TextField.autocapitalization and
Titanium.UI.TextArea.autocapitalization properties.
TEXT_AUTOCAPITALIZATION_NONE#
Type: Number
Do not auto-capitalize.
Use with the Titanium.UI.TextField.autocapitalization and
Titanium.UI.TextArea.autocapitalization properties.
TEXT_AUTOCAPITALIZATION_SENTENCES#
Type: Number
Use sentence-style auto-capitalization in the input field.
Use with the Titanium.UI.TextField.autocapitalization and
Titanium.UI.TextArea.autocapitalization properties.
TEXT_AUTOCAPITALIZATION_WORDS#
Type: Number
Auto-capitalize the first letter of each word in the input field.
Use with the Titanium.UI.TextField.autocapitalization and
Titanium.UI.TextArea.autocapitalization properties.
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.
UNKNOWN#
Type: Number
Orientation constant representing an unknown orientation.
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
UPSIDE_PORTRAIT#
Type: Number
Orientation constant for inverted portrait orientation.
One of the group of orientation constants for the Titanium.Gesture module,
Titanium.UI.PORTRAIT,
Titanium.UI.UPSIDE_PORTRAIT,
Titanium.UI.LANDSCAPE_LEFT,
Titanium.UI.LANDSCAPE_RIGHT,
Titanium.UI.FACE_UP,
Titanium.UI.FACE_DOWN,
and Titanium.UI.UNKNOWN.
URL_ERROR_AUTHENTICATION#
Type: Number
Authentication 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 #
Adds the specified callback as an event listener for the named event.
| Name | Type | Summary | Optional |
|---|---|---|---|
name | String | Name of the event. | No |
callback | Callback<Titanium.Event> | Callback function to invoke when the event is fired. | No |
applyProperties #
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.
| Name | Type | Summary | Optional |
|---|---|---|---|
props | Dictionary | A 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.
| Name | Type | Summary | Optional |
|---|---|---|---|
convertFromValue | String | Measurement and optional unit to convert from, e.g. 160, "120dip". Percentages are not accepted. | No |
convertToUnits | Number | Desired unit for the conversion result. | No |
Returns: Number
createMatrix2D #
Creates and returns an instance of Titanium.UI.Matrix2D.
| Name | Type | Summary | Optional |
|---|---|---|---|
parameters | Matrix2DCreationDict | Initial transformation of the matrix. | Yes |
Returns: Titanium.UI.Matrix2D
createMatrix3D #
Creates and returns an instance of Titanium.UI.Matrix3D.
| Name | Type | Summary | Optional |
|---|---|---|---|
parameters | Matrix3DCreationDict | Initial 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.
| Name | Type | Summary | Optional |
|---|---|---|---|
colorName | String | Name of the semantic color defined in the applications colorset. | No |
Returns: Titanium.UI.Color, String
fireEvent #
Fires a synthesized event to any registered listeners.
| Name | Type | Summary | Optional |
|---|---|---|---|
name | String | Name of the event. | No |
event | Dictionary | A dictionary of keys and values to add to the Titanium.Event object sent to the listeners. | Yes |
removeEventListener #
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);
| Name | Type | Summary | Optional |
|---|---|---|---|
name | String | Name of the event. | No |
callback | Callback<Titanium.Event> | Callback function to remove. Must be the same function passed to addEventListener. | No |
Events #
userinterfacestyle #
Fired when the userInterfaceStyle changes.
| Name | Type | Summary |
|---|---|---|
value | Number | The 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();