You are reading 12.7.1. See this page in 13.4.1.
Titanium.Android.ActionBar
Extends Titanium.Proxy
An action bar is a window feature that identifies the application and user location, and provides user actions and navigation modes.
You can add action items to the action bar by defining an Android menu and setting the menu items to display as action items. See Menu and MenuItem for details.
You cannot change the action bar's settings until the window's activity or tab group's activity has been created. You can detect this by assigning a callback to the activity's onCreate property.
Note that setting the Window.navBarHidden property to true disables the Action Bar since it is part of the navigation title bar.
For more examples on using the Action Bar, refer to the Android Action Bar guide.
Application Notes for Alloy
Starting with Alloy 1.5.0, you can add ActionBar attributes to the ActionBar element.
To use the action bar, add the <ActionBar> tag as a child of either a
a <Window> or <TabGroup>, then set ActionBar attributes in either the XML or TSS file.
Starting with Alloy 1.4.0, you can also add ActionBar attributes to the Menu element.
Do not define ActionBar attributes in both the ActionBar and Menu elements. Only define the
attributes in one element.
To add action items to the action bar, add the <Menu> tag as a child of either
a <Window> or <TabGroup>, then add <MenuItem> tags as children of the <Menu> tag.
Set MenuItem attributes in either the XML or TSS file.
For an example of using the Action Bar with Alloy, see "Action Bar using Alloy XML Markup" below.
Examples
Action Bar using Alloy XML Markup
Adds action items and sets several properties on a window's action bar in the XML and TSS files.
app/views/index.xml:
<Alloy>
<Window title="My Test App">
<ActionBar id="actionbar" title="My XML Menu" onHomeIconItemSelected="doMenuClick" />
<Menu>
<MenuItem id="item1" title="Settings" onClick="openSettings" />
<MenuItem id="item2" title="Search" onClick="doSearch" />
</Menu>
<Label id="label">Welcome!</Label>
</Window>
</Alloy>
app/controllers/index.js:
function doMenuClick() {}
function openSettings() {}
function doSearch() {}
$.index.open();
app/styles/index.tss:
"MenuItem": {
showAsAction: Ti.Android.SHOW_AS_ACTION_ALWAYS
},
"#item1": {
icon: Ti.Android.R.drawable.ic_menu_preferences
},
"#item2": {
icon: Ti.Android.R.drawable.ic_menu_search
},
"#actionbar": {
icon: "/actionicon.png",
displayHomeAsUp: true,
backgroundImage: "/actionbackground.png"
}
Action Bar Example
The following example sets several properties on a window's action bar.
const win = Ti.UI.createWindow({
title: "Old Title",
navBarHidden: false
});
if (OS_ANDROID) {
win.activity.onCreate = () => {
const actionBar = win.activity.actionBar;
if (actionBar) {
actionBar.backgroundImage = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'bg.png').nativePath;
actionBar.title = "New Title";
actionBar.onHomeIconItemSelected = () => {
Ti.API.info("Home icon clicked!");
};
}
};
}
win.open();
The above can be done for a tab group via its activity property. Note that individual tab windows do not have an activity. Only the root tab group (which hosts the tabs) provides an activity property.
Properties 15
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
The background image for the action bar, specified as a local file path or URL.
Inherited from Titanium.Proxy
Indicates if the proxy will bubble an event to its parent.
Default: true
Sets a view to be used for a custom navigation mode.
Inserts a custom view for navigation in the space between the application's home button and menu actions. The custom view is trimmed to fit the space available.
Displays an "up" affordance on the "home" area of the action bar.
See also: setDisplayHomeAsUpEnabled in the Android Developer Reference.
Sets a custom icon for the "home" button in the corner of the action bar.
Can be set to a String file path or URL to an image, to an image blob, or to a resource ID
from Ti.App.Android.R.drawable.* or Ti.Android.R.drawable.*. It's highly recommended to set this
to a vector drawable resource ID.
Enable or disable the "home" button in the corner of the action bar.
See also: setHomeButtonEnabled in the Android Developer Reference.
Sets the application icon displayed in the "home" area of the action bar.
Before Titanium 11.0.0, this property only supports a String and it must be assigned a local file path
or URL to an image.
As of Titanium 11.0.0, this property can also be assigned an image blob or a native drawable resource ID
from Ti.App.Android.R.drawable.* or Ti.Android.R.drawable.*.
Inherited from Titanium.Proxy
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
Sets the application logo displayed in the "home" area of the action bar.
Before Titanium 11.0.0, this property only supports a String and it must be assigned a local file path
or URL to an image.
As of Titanium 11.0.0, this property can also be assigned an image blob or a native drawable resource ID
from Ti.App.Android.R.drawable.* or Ti.Android.R.drawable.*.
navigationMode
NumberControls the navigation mode.
The navigation mode can be NAVIGATION_MODE_STANDARD, or NAVIGATION_MODE_TABS.
A TabGroup is initialized by Titanium Mobile with NAVIGATION_MODE_TABS, and can be hidden by setting to NAVIGATION_MODE_STANDARD. NAVIGATION_MODE_LIST is not yet supported.
See also: setNavigationMode
in the Android Developer Reference.
Callback function called when the home icon is clicked.
Sets the subtitle of the action bar.
title
StringSets the title of the action bar.
Gets or sets the action bar visibility state.
Methods 8
Inherited from Titanium.Proxy
Adds the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to invoke when the event is fired. 4 fields
|
applyProperties
since 3.0.0Inherited from Titanium.Proxy
Applies the properties to the proxy.
| Parameters | Type | Description |
|---|---|---|
| props | Dictionary | A dictionary of properties to apply. |
Inherited from Titanium.Proxy
Fires a synthesized event to any registered listeners.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| event? | Dictionary | A dictionary of keys and values to add to the Titanium.Event object sent to the listeners. |
Hides the action bar if it is currently showing.
See also: hide in the Android API Reference.
Inherited from Titanium.Proxy
Removes the specified callback as an event listener for the named event.
| Parameters | Type | Description |
|---|---|---|
| name | String | Name of the event. |
| callback | Callback<Titanium.Event> | Callback function to remove. Must be the same function passed to 4 fields
|
setDisplayShowHomeEnabled
since 3.3.0Shows or hides the action bar home icon
See also: setDisplayShowHomeEnabled in the Android API Reference.
| Parameters | Type | Description |
|---|---|---|
| show | Boolean | Boolean to show or hide action bar home icon |
setDisplayShowTitleEnabled
since 3.3.0Shows or hides the action bar title/subtitle
See also: setDisplayShowTitleEnabled in the Android API Reference.
| Parameters | Type | Description |
|---|---|---|
| show | Boolean | Boolean to show or hide action bar title/subtitle |
Shows the action bar if it is currently hidden.
See also: show in the Android API Reference.