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.
Extends: Titanium.Module · Since: 1.0 · Platforms: android
Properties #
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.
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.
FLAG_LAYOUT_NO_LIMITS#
Type: Number
Flag allowing window to extend into the status bar and navigation bar.
When assigned to Window.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
Window.extendSafeArea property to true.
Warning: Using this flag causes Window.safeAreaPadding
to return all zeros. This flag also breaks keyboard adjustPan support.
FLAG_TRANSLUCENT_NAVIGATION#
Type: Number
Window flag which makes the Android system's navigation bar semi-transparent.
When assigned to Titanium.UI.Window.windowFlags, this flag will make the Android
system's bottom navigation bar semi-transparent. This flag will only work if you also set the
Window.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#
Type: Number
Window flag which makes the Android system's top status bar semi-transparent.
When assigned to Titanium.UI.Window.windowFlags, this flag will make the Android
system's top status bar semi-transparent. This flag will only work if you also set the
Titanium.UI.Window.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#
Type: Number
Raw bit controlling whether the right/bottom edge is clipped to its container, based on the gravity direction being applied.
GRAVITY_CENTER#
Type: Number
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
GRAVITY_CENTER_HORIZONTAL#
Type: Number
Place object in the horizontal center of its container, not changing its size.
GRAVITY_CENTER_VERTICAL#
Type: Number
Place object in the vertical center of its container, not changing its size.
GRAVITY_CLIP_HORIZONTAL#
Type: Number
Flag to clip the edges of the object to its container along the horizontal axis.
GRAVITY_CLIP_VERTICAL#
Type: Number
Flag to clip the edges of the object to its container along the vertical axis.
GRAVITY_DISPLAY_CLIP_HORIZONTAL#
Type: Number
Special constant to enable clipping to an overall display along the horizontal dimension.
GRAVITY_DISPLAY_CLIP_VERTICAL#
Type: Number
Special constant to enable clipping to an overall display along the vertical dimension.
GRAVITY_END#
Type: Number
Push object to x-axis position at the end of its container, not changing its size.
GRAVITY_FILL#
Type: Number
Grow the horizontal and vertical size of the object if needed so it completely fills its container.
GRAVITY_FILL_HORIZONTAL#
Type: Number
Grow the horizontal size of the object if needed so it completely fills its container.
GRAVITY_FILL_VERTICAL#
Type: Number
Grow the vertical size of the object if needed so it completely fills its container.
GRAVITY_HORIZONTAL_GRAVITY_MASK#
Type: Number
Binary mask to get the absolute horizontal gravity of a gravity.
GRAVITY_RELATIVE_HORIZONTAL_GRAVITY_MASK#
Type: Number
Binary mask for the horizontal gravity and script specific direction bit.
GRAVITY_RELATIVE_LAYOUT_DIRECTION#
Type: Number
Raw bit controlling whether the layout direction is relative or not (GRAVITY_START/GRAVITY_END instead of absolute GRAVITY_LEFT/GRAVITY_RIGHT).
GRAVITY_START#
Type: Number
Push object to x-axis position at the start of its container, not changing its size.
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.
OVER_SCROLL_ALWAYS#
Type: Number
Always allow a user to over-scroll this view, provided it is a view that can scroll.
Use this with the following properties - Titanium.UI.ScrollableView.overScrollMode, Titanium.UI.ScrollView.overScrollMode,
Titanium.UI.TableView.overScrollMode and Titanium.UI.WebView.overScrollMode.
Only applicable when Titanium.Platform.Android.API_LEVEL is 9 or above.
OVER_SCROLL_IF_CONTENT_SCROLLS#
Type: Number
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 - Titanium.UI.ScrollableView.overScrollMode, Titanium.UI.ScrollView.overScrollMode,
Titanium.UI.TableView.overScrollMode and Titanium.UI.WebView.overScrollMode.
Only applicable when Titanium.Platform.Android.API_LEVEL is 9 or above.
OVER_SCROLL_NEVER#
Type: Number
Never allow a user to over-scroll this view.
Use this with the following properties - Titanium.UI.ScrollableView.overScrollMode, Titanium.UI.ScrollView.overScrollMode,
Titanium.UI.TableView.overScrollMode and Titanium.UI.WebView.overScrollMode.
Only applicable when Titanium.Platform.Android.API_LEVEL is 9 or above.
PIXEL_FORMAT_A_8#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
Used with the Titanium.UI.Android.ProgressIndicator.type property to indicate an ongoing
activity of determinate length.
PROGRESS_INDICATOR_DIALOG#
Type: Number
Display Titanium.UI.Android.ProgressIndicator as a modal dialog. (default)
Used with the Titanium.UI.Android.ProgressIndicator.location property.
PROGRESS_INDICATOR_INDETERMINANT#
Type: Number
Used with the Titanium.UI.Android.ProgressIndicator.type property to indicate an ongoing
activity of indeterminate length. (default)
PROGRESS_INDICATOR_STATUS_BAR#
Type: Number
Display Titanium.UI.Android.ProgressIndicator as a horizontal progress bar in the title of
the window.
Used with the Titanium.UI.Android.ProgressIndicator.location property.
SCROLL_FLAG_ENTER_ALWAYS#
Type: Number
When entering (scrolling on screen) the view will scroll on any downwards scroll event, regardless of whether the scrolling view is also scrolling. This is commonly referred to as the 'quick return' pattern.
SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED#
Type: Number
An additional flag for 'enterAlways' which modifies the returning view to only initially scroll back to it's collapsed height. Once the scrolling view has reached the end of it's scroll range, the remainder of this view will be scrolled into view. The collapsed height is defined by the view's minimum height.
SCROLL_FLAG_EXIT_UNTIL_COLLAPSED#
Type: Number
When exiting (scrolling off screen) the view will be scrolled until it is 'collapsed'. The collapsed height is defined by the view's minimum height.
SCROLL_FLAG_NO_SCROLL#
Type: Number
Disable scrolling on the view. This flag should not be combined with any of the other scroll flags.
SCROLL_FLAG_SCROLL#
Type: Number
The view will be scroll in direct relation to scroll events. This flag needs to be set for any of the other flags to take effect. If any sibling views before this one do not have this flag, then this value has no effect.
SCROLL_FLAG_SNAP#
Type: Number
Upon a scroll ending, if the view is only partially visible then it will be snapped and scrolled to its closest edge. For example, if the view only has its bottom 25% displayed, it will be scrolled off screen completely. Conversely, if its bottom 75% is visible then it will be scrolled fully into view.
SCROLL_FLAG_SNAP_MARGINS#
Type: Number
An additional flag to be used with 'snap'. If set, the view will be snapped to its top and bottom margins, as opposed to the edges of the view itself.
SOFT_INPUT_ADJUST_NOTHING#
Type: Number
The window will not be resized, and it will not be panned to make its focus visible.
Used with the Titanium.UI.Window.windowSoftInputMode property.
SOFT_INPUT_ADJUST_PAN#
Type: Number
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 Titanium.UI.Window.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#
Type: Number
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 Titanium.UI.Window.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#
Type: Number
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 Titanium.UI.Window.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#
Type: Number
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 Titanium.UI.Window.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#
Type: Number
Always show the soft input area (ie software keyboard) when the current heavyweight window
receives focus.
Used with the Titanium.UI.Window.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#
Type: Number
Attempt to hide the soft input area (ie software keyboard) when the current heavyweight
window receives focus.
Used with the Titanium.UI.Window.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#
Type: Number
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 Titanium.UI.Window.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#
Type: Number
Attempt to show the soft input area (ie software keyboard) when the current heavyweight
window receives focus.
Used with the Titanium.UI.Window.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#
Type: Number
Use Android default behavior to handle keyboard visibility when a view receives focus.
(default)
SOFT_KEYBOARD_HIDE_ON_FOCUS#
Type: Number
Attempt to hide the soft keyboard when a view receives focus. Note: system can override
request.
SOFT_KEYBOARD_SHOW_ON_FOCUS#
Type: Number
Attempt to show the soft keyboard when a view receives focus. Note: system can override
request.
STATUS_BAR_LIGHT#
Type: Number
Sets the color of the status bar to light mode. Needs Android API level 23.
SWITCH_STYLE_CHECKBOX (deprecated)#
Type: Number
Display a checkbox.
Use with the Titanium.UI.Switch.style property.
SWITCH_STYLE_SWITCH (deprecated)#
Type: Number
Display a switch.
Use with the Titanium.UI.Switch.style property.
SWITCH_STYLE_TOGGLEBUTTON (deprecated)#
Type: Number
Display a toggle button.
Use with the Titanium.UI.Switch.style property.
TABS_STYLE_BOTTOM_NAVIGATION#
Type: Number
TabGroup style taking advantage of a bottom navigation controller for switching between tabs.
TABS_STYLE_DEFAULT#
Type: Number
The default TabGroup style that places the Tabs bellow the ActionBar and above the Window content.
TRANSITION_CHANGE_BOUNDS#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
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#
Type: Number
Moves views in or out from the edges of the scene.
Use this only for activity transition.
Refers to Explode transition.
TRANSITION_FADE_IN#
Type: Number
Fades in the views.
Use this only for activity transition.
Refers to Fade transition.
TRANSITION_FADE_OUT#
Type: Number
Fades out the views.
Use this only for activity transition.
Refers to Fade transition.
TRANSITION_NONE#
Type: Number
Resets transition to platform default.
Can be used with activity and shared element transtion.
TRANSITION_SLIDE_BOTTOM#
Type: Number
Moves views to bottom.
Use this only for activity transition.
Refers to Slide transition.
TRANSITION_SLIDE_LEFT#
Type: Number
Moves views to left.
Use this only for activity transition.
Refers to Slide transition.
TRANSITION_SLIDE_RIGHT#
Type: Number
Moves views to right.
Use this only for activity transition.
Refers to Slide transition.
TRANSITION_SLIDE_TOP#
Type: Number
Moves views to top.
Use this only for activity transition.
Refers to Slide transition.
WEBVIEW_LOAD_CACHE_ELSE_NETWORK#
Type: Number
Use with WebView.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#
Type: Number
Use with WebView.cacheMode to override how the cache is used in a web view.
Don't use network, load from the cache only.
WEBVIEW_LOAD_DEFAULT#
Type: Number
Use with WebView.cacheMode to override how the cache is used in a web view.
This is the default cache usage mode.
WEBVIEW_LOAD_NO_CACHE#
Type: Number
Use with WebView.cacheMode to override how the cache is used in a web view.
Don't use cache, load from the network.
WEBVIEW_PLUGINS_OFF#
Type: Number
Use with WebView.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#
Type: Number
Use with WebView.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#
Type: Number
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 WebView.pluginState to load plugins on demand.
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 |
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 |
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 Titanium.Android.R.color and Titanium.App.Android.R.color properties.
See the official Android Developer documentation for
the R.color constants.
| Name | Type | Summary | Optional |
|---|---|---|---|
resourceIdOrColorName | Number, String | integer resource id for a color, or the name of the color defined in the application resources (colors.xml). | No |
Returns: Titanium.UI.Color
harmonizedColor #
Creates a harmonizing color
Shifts the hue of the input color towards the hue of colorPrimary and returns a new color
as a hex string. Usage: Ti.UI.Android.harmonizedColor("#ff0000");
| Name | Type | Summary | Optional |
|---|---|---|---|
color | String, Titanium.UI.Color | Input Color | No |
Returns: String
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.
moveToBackground #
Moves the app to the background
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.
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 |
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);<?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><?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>