# Titanium.UI.Android
The Android-specific UI capabilities. All properties, methods and events in this namespace will only work on Android systems.
# Drawer Layout
The drawer-layout components acts as a top-level container for window content that allows
for interactive "drawer" views to be pulled out from one or both vertical edges of the window.
It is represented by a centerView
and optional leftView
and rightView
components that
can be swiped in and out with additional configuration and transitions. Learn more about
drawer-layouts in it's dedicated Titanium.UI.Android.DrawerLayout docs.
# Examples
# Android Preferences Example
Create preferences interface for the application.
# app.js
var button = Ti.UI.createButton({
title: 'Click to Open Preferences'
});
button.addEventListener('click', function() {
Ti.API.info('Current value for editText: ' + Ti.App.Properties.getString('editText'));
Ti.UI.Android.openPreferences();
});
currentWindow.add(button);
# platform/android/res/xml/preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Preferences">
<PreferenceScreen
android:title="Misc. Preferences"
android:summary="Click to see more options">
<EditTextPreference
android:title="Edit Text Preference"
android:summary="You may enter a string"
android:defaultValue=""
android:key="editText" />
</PreferenceScreen>
<PreferenceCategory android:title="Category One">
<CheckBoxPreference
android:title="CheckBox Preference"
android:defaultValue="false"
android:summary="You may enter a boolean"
android:key="checkbox" />
<RingtonePreference
android:title="Ringtone Preference"
android:summary="You may pick a ringtone"
android:defaultValue=""
android:key="ringtone" />
</PreferenceCategory>
<PreferenceCategory android:title="Category Two">
<ListPreference
android:title="List Preference"
android:summary="You may chose from multiple choices"
android:key="list"
android:entries="@array/listNames"
android:entryValues="@array/listValues"
/>
</PreferenceCategory>
</PreferenceScreen>
# platform/android/res/values/array/array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="listNames">
<item>5 Minutes</item>
<item>10 Minutes</item>
<item>15 Minutes</item>
<item>30 Minutes</item>
<item>60 Minutes</item>
</string-array>
<string-array name="listValues">
<item>5</item>
<item>10</item>
<item>15</item>
<item>30</item>
<item>60</item>
</string-array>
</resources>
# Methods
# createCardView
Creates and returns an instance of Titanium.UI.Android.CardView.
Parameters
Name | Type | Description |
---|---|---|
parameters | Dictionary<Titanium.UI.Android.CardView> | Properties to set on a new object, including any defined by Titanium.UI.Android.CardView except those marked not-creation or read-only. |
Returns
# createDrawerLayout
Creates and returns an instance of Titanium.UI.Android.DrawerLayout.
Parameters
Name | Type | Description |
---|---|---|
parameters | Dictionary<Titanium.UI.Android.DrawerLayout> | Properties to set on a new object, including any defined by Titanium.UI.Android.DrawerLayout except those marked not-creation or read-only. |
Returns
# createProgressIndicator
Creates and returns an instance of Titanium.UI.Android.ProgressIndicator.
Parameters
Name | Type | Description |
---|---|---|
parameters | Dictionary<Titanium.UI.Android.ProgressIndicator> | Properties to set on a new object, including any defined by Titanium.UI.Android.ProgressIndicator except those marked not-creation or read-only. |
Returns
# createSearchView
Creates and returns an instance of Titanium.UI.Android.SearchView.
Parameters
Name | Type | Description |
---|---|---|
parameters | Dictionary<Titanium.UI.Android.SearchView> | Properties to set on a new object, including any defined by Titanium.UI.Android.SearchView except those marked not-creation or read-only. |
Returns
# getColorResource
Returns a <Ti.Color> instance for a color defined by the system or user resources (colors.xml)
This method allows converting a known color resource id or short name to an actual color instance.
The resource id values can be accessed via color and <Titanium.App.Android.R.color> properties.
See the official Android Developer documentation for the R.color constants.
Parameters
Name | Type | Description |
---|---|---|
resourceIdOrColorName | Number | String | integer resource id for a color, or the name of the color defined in the application resources (colors.xml). |
Returns
- Type
- Titanium.UI.Color
# hideSoftKeyboard
Hides the soft keyboard.
Be aware that it is not currently possible in the native Android API to detect that the keyboard is already visible or to globally show the keyboard.
Returns
- Type
- void
# openPreferences
Opens an application preferences dialog, using the native Android system settings interface,
defined by the platform-specific preferences.xml
and array.xml
files.
The preferences configuration files must be created in the project folders,
platform/android/res/xml/preferences.xml
and platform/android/res/values/array/array.xml
.
The preferences values can be accessed via Titanium.App.Properties.
See the example for a demonstration, and the official Android Developer documentation for the preferences.xml format.
Returns
- Type
- void
# Constants
# FLAG_LAYOUT_NO_LIMITS
Flag allowing window to extend into the status bar and navigation bar.
When assigned to windowFlags, this flag will make the window ignore the system's insets such as the top status bar and bottom navigation bar so that they overlap the window. The system may make the status bar and navigation bar completely transparent, but this behavior is not guaranteed to happen.
When using this flag, it's also recommended to set the
extendSafeArea property to true
.
Warning: Using this flag causes safeAreaPadding
to return all zeros. This flag also breaks keyboard adjustPan
support.
# FLAG_TRANSLUCENT_NAVIGATION
Window flag which makes the Android system's navigation bar semi-transparent.
When assigned to windowFlags, this flag will make the Android
system's bottom navigation bar semi-transparent. This flag will only work if you also set the
extendSafeArea property to true
.
This flag is only supported by Android 4.4 and newer OS versions. This flag is ignored on older versions. On Android 4.4, navigation bar can only be translucent in portrait mode while newer OS versions support this flag for all orientations.
# FLAG_TRANSLUCENT_STATUS
Window flag which makes the Android system's top status bar semi-transparent.
When assigned to windowFlags, this flag will make the Android
system's top status bar semi-transparent. This flag will only work if you also set the
extendSafeArea property to true
.
This flag is only supported by Android 4.4 and newer OS versions. This flag is ignored on older versions.
# GRAVITY_AXIS_CLIP
Raw bit controlling whether the right/bottom edge is clipped to its container, based on the gravity direction being applied.
# GRAVITY_AXIS_PULL_AFTER
Raw bit controlling how the right/bottom edge is placed.
# GRAVITY_AXIS_PULL_BEFORE
Raw bit controlling how the left/top edge is placed.
# GRAVITY_AXIS_SPECIFIED
Raw bit indicating the gravity for an axis has been specified.
# GRAVITY_BOTTOM
Push object to the bottom of its container, not changing its size.
# GRAVITY_CENTER
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
# GRAVITY_CENTER_HORIZONTAL
Place object in the horizontal center of its container, not changing its size.
# GRAVITY_CENTER_VERTICAL
Place object in the vertical center of its container, not changing its size.
# GRAVITY_CLIP_HORIZONTAL
Flag to clip the edges of the object to its container along the horizontal axis.
# GRAVITY_CLIP_VERTICAL
Flag to clip the edges of the object to its container along the vertical axis.
# GRAVITY_DISPLAY_CLIP_HORIZONTAL
Special constant to enable clipping to an overall display along the horizontal dimension.
# GRAVITY_DISPLAY_CLIP_VERTICAL
Special constant to enable clipping to an overall display along the vertical dimension.
# GRAVITY_END
Push object to x-axis position at the end of its container, not changing its size.
# GRAVITY_FILL
Grow the horizontal and vertical size of the object if needed so it completely fills its container.
# GRAVITY_FILL_HORIZONTAL
Grow the horizontal size of the object if needed so it completely fills its container.
# GRAVITY_FILL_VERTICAL
Grow the vertical size of the object if needed so it completely fills its container.
# GRAVITY_HORIZONTAL_GRAVITY_MASK
Binary mask to get the absolute horizontal gravity of a gravity.
# GRAVITY_LEFT
Push object to the left of its container, not changing its size.
# GRAVITY_RELATIVE_HORIZONTAL_GRAVITY_MASK
Binary mask for the horizontal gravity and script specific direction bit.
# GRAVITY_RELATIVE_LAYOUT_DIRECTION
Raw bit controlling whether the layout direction is relative or not (GRAVITY_START/GRAVITY_END instead of absolute GRAVITY_LEFT/GRAVITY_RIGHT).
# GRAVITY_RIGHT
Push object to the right of its container, not changing its size.
# GRAVITY_START
Push object to x-axis position at the start of its container, not changing its size.
# GRAVITY_VERTICAL_GRAVITY_MASK
Binary mask to get the vertical gravity of a gravity.
# LINKIFY_ALL DEPRECATED
DEPRECATED SINCE 3.0.0
Use AUTOLINK_ALL instead.
Converts all detectable types of data into clickable links.
# LINKIFY_EMAIL_ADDRESSES DEPRECATED
DEPRECATED SINCE 3.0.0
Use AUTOLINK_EMAIL_ADDRESSES instead.
Converts strings formatted as email addresses into clickable links.
# LINKIFY_MAP_ADDRESSES DEPRECATED
DEPRECATED SINCE 3.0.0
Use AUTOLINK_MAP_ADDRESSES instead.
Converts strings formatted as addresses into clickable links.
# LINKIFY_PHONE_NUMBERS DEPRECATED
DEPRECATED SINCE 3.0.0
Use AUTOLINK_PHONE_NUMBERS instead.
Converts strings formatted as phone numbers into clickable links.
# LINKIFY_WEB_URLS DEPRECATED
DEPRECATED SINCE 3.0.0
Use AUTOLINK_URLS instead.
Converts strings formatted as URLs into clickable links.
# OVER_SCROLL_ALWAYS
Always allow a user to over-scroll this view, provided it is a view that can scroll.
Use this with the following properties - overScrollMode, overScrollMode, overScrollMode and overScrollMode.
Only applicable when API_LEVEL is 9 or above.
# OVER_SCROLL_IF_CONTENT_SCROLLS
Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.
Use this with the following properties - overScrollMode, overScrollMode, overScrollMode and overScrollMode.
Only applicable when API_LEVEL is 9 or above.
# OVER_SCROLL_NEVER
Never allow a user to over-scroll this view.
Use this with the following properties - overScrollMode, overScrollMode, overScrollMode and overScrollMode.
Only applicable when API_LEVEL is 9 or above.
# PIXEL_FORMAT_A_8
Android A_8 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_L_8
Android L_8 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_LA_88
Android LA_88 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_OPAQUE
Android OPAQUE pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGB_332
Android RGB_332 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGB_565
Android RGB_565 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGB_888
Android RGB_888 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGBA_4444
Android RGBA_4444 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGBA_5551
Android RGBA_5551 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGBA_8888
Android RGBA_8888 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_RGBX_8888
Android RGBX_8888 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_TRANSLUCENT
Android TRANSLUCENT pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_TRANSPARENT
Android A_8 pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PIXEL_FORMAT_UNKNOWN
Android UNKNOWN pixel format for Titanium.UI.Window. Selecting the correct pixel format can improve image clarity and performance.
See the Android Developer website for official documentation about the PixelFormat constants.
# PROGRESS_INDICATOR_DETERMINANT
Used with the type property to indicate an ongoing activity of determinate length.
# PROGRESS_INDICATOR_DIALOG
Display Titanium.UI.Android.ProgressIndicator as a modal dialog. (default)
Used with the location property.
# PROGRESS_INDICATOR_INDETERMINANT
Used with the type property to indicate an ongoing activity of indeterminate length. (default)
# PROGRESS_INDICATOR_STATUS_BAR
Display Titanium.UI.Android.ProgressIndicator as a horizontal progress bar in the title of the window.
Used with the location property.
# SOFT_INPUT_ADJUST_PAN
Pan the current heavyweight window when the input method (ie software keyboard) is shown, to ensure that its contents are not obscured.
Used with the windowSoftInputMode property.
One of the group of soft input adjustment constants, SOFT_INPUT_ADJUST_UNSPECIFIED, SOFT_INPUT_ADJUST_RESIZE, and SOFT_INPUT_ADJUST_PAN.
# SOFT_INPUT_ADJUST_RESIZE
Resize the current heavyweight window when the input method (ie software keyboard) is shown, to ensure that its contents are not obscured.
Used with the windowSoftInputMode property.
One of the group of soft input adjustment constants, SOFT_INPUT_ADJUST_UNSPECIFIED, SOFT_INPUT_ADJUST_RESIZE, and SOFT_INPUT_ADJUST_PAN.
# SOFT_INPUT_ADJUST_UNSPECIFIED
Use the system-default behavior to determine how the soft input area (ie software keyboard) is accomodated by the current heavyweight window when it receives focus (default.)
Depends on the AndroidManifest.xml
setting if defined or system-default otherwise to
determine how to accomodate the soft keyboard when visible.
Used with the windowSoftInputMode property.
One of the group of soft input adjustment constants, SOFT_INPUT_ADJUST_UNSPECIFIED, SOFT_INPUT_ADJUST_RESIZE, and SOFT_INPUT_ADJUST_PAN.
# SOFT_INPUT_STATE_ALWAYS_HIDDEN
Always hide the soft input area (ie software keyboard) when the current heavyweight window receives focus.
Note that the unresolved bug #7115 on the Official Android Project website affects this functionality.
Used with the windowSoftInputMode property.
One of the group of soft input visibility constants, SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_UNSPECIFIED, and SOFT_INPUT_STATE_VISIBLE.
# SOFT_INPUT_STATE_ALWAYS_VISIBLE
Always show the soft input area (ie software keyboard) when the current heavyweight window receives focus.
Used with the windowSoftInputMode property.
This constant is one of the group of soft input visibility constants, SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_UNSPECIFIED, and SOFT_INPUT_STATE_VISIBLE.
# SOFT_INPUT_STATE_HIDDEN
Attempt to hide the soft input area (ie software keyboard) when the current heavyweight window receives focus.
Used with the windowSoftInputMode property.
This constant is one of the group of soft input visibility constants, SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_UNSPECIFIED, and SOFT_INPUT_STATE_VISIBLE.
# SOFT_INPUT_STATE_UNSPECIFIED
Use the system-default behavior to determine whether to show the soft input area (ie software keyboard) when the current heavyweight window receives focus.
Used with the windowSoftInputMode property.
This constant is one of the group of soft input visibility constants, SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_UNSPECIFIED, and SOFT_INPUT_STATE_VISIBLE.
# SOFT_INPUT_STATE_VISIBLE
Attempt to show the soft input area (ie software keyboard) when the current heavyweight window receives focus.
Used with the windowSoftInputMode property.
This constant is one of the group of soft input visibility constants, SOFT_INPUT_STATE_ALWAYS_HIDDEN, SOFT_INPUT_STATE_ALWAYS_VISIBLE, SOFT_INPUT_STATE_HIDDEN, SOFT_INPUT_STATE_UNSPECIFIED, and SOFT_INPUT_STATE_VISIBLE.
# SOFT_KEYBOARD_DEFAULT_ON_FOCUS
Use Android default behavior to handle keyboard visibility when a view receives focus. (default)
# SOFT_KEYBOARD_HIDE_ON_FOCUS
Attempt to hide the soft keyboard when a view receives focus. Note: system can override request.
# SOFT_KEYBOARD_SHOW_ON_FOCUS
Attempt to show the soft keyboard when a view receives focus. Note: system can override request.
# SWITCH_STYLE_CHECKBOX DEPRECATED
DEPRECATED SINCE 10.0.0
Use SWITCH_STYLE_CHECKBOX instead.
Display a checkbox.
Use with the style property.
# SWITCH_STYLE_SWITCH DEPRECATED
DEPRECATED SINCE 10.0.0
Use SWITCH_STYLE_SLIDER instead.
Display a switch.
Use with the style property.
# SWITCH_STYLE_TOGGLEBUTTON DEPRECATED
DEPRECATED SINCE 10.0.0
Use SWITCH_STYLE_TOGGLE_BUTTON instead.
Display a toggle button.
Use with the style property.
# TABS_STYLE_BOTTOM_NAVIGATION
TabGroup style taking advantage of a bottom navigation controller for switching between tabs.
# TABS_STYLE_DEFAULT
The default TabGroup style that places the Tabs bellow the ActionBar and above the Window content.
# TRANSITION_CHANGE_BOUNDS
Captures layout bounds of target views before and after the scene change and animates those changes during the transition.
Use this only for shared element transition. Refers to ChangeBounds transition.
# TRANSITION_CHANGE_CLIP_BOUNDS
Captures the clip bounds before and after the scene change and animates those changes during the transition.
Use this only for shared element transition. Refers to ChangeClipBounds transition.
# TRANSITION_CHANGE_IMAGE_TRANSFORM
Captures an ImageView's matrix before and after the scene change and animates it during the transition.
Use this only for shared element transition. Refers to ChangeImageTransform transition.
# TRANSITION_CHANGE_TRANSFORM
Captures scale and rotation for Views before and after the scene change and animates those changes during the transition.
Use this only for shared element transition. Refers to ChangeTransform transition.
# TRANSITION_EXPLODE
Moves views in or out from the edges of the scene.
Use this only for activity transition. Refers to Explode transition.
# TRANSITION_FADE_IN
Fades in the views.
Use this only for activity transition. Refers to Fade transition.
# TRANSITION_FADE_OUT
Fades out the views.
Use this only for activity transition. Refers to Fade transition.
# TRANSITION_NONE
Resets transition to platform default.
Can be used with activity and shared element transtion.
# TRANSITION_SLIDE_BOTTOM
Moves views to bottom.
Use this only for activity transition. Refers to Slide transition.
# TRANSITION_SLIDE_LEFT
Moves views to left.
Use this only for activity transition. Refers to Slide transition.
# TRANSITION_SLIDE_RIGHT
Moves views to right.
Use this only for activity transition. Refers to Slide transition.
# TRANSITION_SLIDE_TOP
Moves views to top.
Use this only for activity transition. Refers to Slide transition.
# WEBVIEW_LOAD_CACHE_ELSE_NETWORK
Use with cacheMode to override how the cache is used in a web view.
Use cached resources when they're available, even when they're expired. Otherwise load resources via network.
# WEBVIEW_LOAD_CACHE_ONLY
Use with cacheMode to override how the cache is used in a web view.
Don't use network, load from the cache only.
# WEBVIEW_LOAD_DEFAULT
Use with cacheMode to override how the cache is used in a web view.
This is the default cache usage mode.
# WEBVIEW_LOAD_NO_CACHE
Use with cacheMode to override how the cache is used in a web view.
Don't use cache, load from the network.
# WEBVIEW_PLUGINS_OFF
Use with pluginState to disable plugins in a web view.
Content that requires a plugin, is not loaded, and any alternative content is displayed instead.
# WEBVIEW_PLUGINS_ON
Use with pluginState to enable plugins in a web view.
Content that requires a plugin,, is always loaded, whether or not a plugin is available for the content.
# WEBVIEW_PLUGINS_ON_DEMAND
Display a placeholder and only load plugins when user selects it.
Content that requires a plugin, is replaced by a placeholder. When the user clicks on the placeholder, the plugin is loaded and the content is displayed.
Use with pluginState to load plugins on demand.