You are reading 12.7.1. See this page in 13.4.1.
Titanium.UI.ShortcutItem
Extends Titanium.Proxy
An application shortcut item.
Allows the creation of dynamic application shortcut items which can be set in the app to offer a dynamic behavior at runtime.
Use the Titanium.UI.createShortcutItem method to create a shortcut item and pass it to the Titanium.UI.Shortcut.add method to add it to the application.
Android Static Shortcuts
Google documents how to add static shortcuts here.
In the tiapp.xml file, you will need to add a shortcuts <meta-data/> element to your main activity.
<ti:app>
<android>
<manifest>
<application>
<activity android:name=".<Yourapplicationname>Activity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
</activity>
</application>
</manifest>
</android>
</ti:app>
You will also need to create a shortcuts.xml file as shown below, defining all of the app's static shortcuts.
This file must reside in the Titanium project's ./platform/android/res/xml folder. Note that XML attributes
icon, shortcutShortLabel, shortcutLongLabel, and shortcutDisabledMessage must be defined as string
resources under the project's i18n folders or ./platform/android/res/values folders.
Attributes targetPackage and targetClass need to be set to your project id and app name.
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="my_unique_string_id"
android:enabled="true"
android:icon="@drawable/my_shortcut_icon"
android:shortcutShortLabel="@string/my_shortcut_short_label"
android:shortcutLongLabel="@string/my_shortcut_long_label"
android:shortcutDisabledMessage="@string/my_shortcut_disabled_message">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="<id_from_tiapp_xml>"
android:targetClass="<id_from_tiapp_xml>.<Yourapplicationname>Activity" />
<categories android:name="android.shortcut.conversation" />
</shortcut>
<!-- Add more shortcuts here. -->
</shortcuts>
iOS Static Shortcuts
Static shortcut items can be set in the <ios> section of the tiapp.xml before launching the app.
Here is an example how to create static application shortcuts in the tiapp.xml:
<ti:app>
<!-- ... -->
<ios>
<plist>
<dict>
<key>UIApplicationShortcutItems</key>
<array>
<dict>
<key>UIApplicationShortcutItemIconType</key>
[string](api:Global.String)UIApplicationShortcutIconTypeSearch</string>
<key>UIApplicationShortcutItemTitle</key>
[string](api:Global.String)My title</string>
<key>UIApplicationShortcutItemSubtitle</key>
[string](api:Global.String)My subtitle</string>
<key>UIApplicationShortcutItemType</key>
[string](api:Global.String)my_identifier</string>
<key>UIApplicationShortcutItemUserInfo</key>
<dict/>
</dict>
</array>
</dict>
</plist>
</ios>
<!-- ... -->
</ti:app>
Static shortcuts can be translated in the i18n/<language>/app.xml file. Dynamic shortcuts can be translated by using the
methods described in the Wiki.
Properties 9
Inherited from Titanium.Proxy
The name of the API that this proxy corresponds to.
Inherited from Titanium.Proxy
Indicates if the proxy will bubble an event to its parent.
Default: true
data
ObjectShortcut data.
Additional data that can be stored with the shortcut.
description
StringDescription of the shortcut.
In iOS the description can be localized. See here for more infos.
icon
String | NumberShortcut icon.
This can be set as a resource id or file path.
In iOS, you can use constants Titanium.UI.iOS.SHORTCUT_ICON_TYPE_* or a reference to a Titanium.Contacts.Person as well. On iOS 13 and higher, you can pass in the Ti.Blob instance returned from Ti.UI.iOS.systemImage also.
In iOS, if you are using an image file, enable slicing (adding the image to an asset catalog) for
the project. To enable slicing, add the use-app-thinning element to the ios element in the
tiapp.xml file and set the value to true. If you do not enable slicing, the image will
not be displayed.
<ti:app>
<ios>
<use-app-thinning>true</use-app-thinning>
</ios>
</ti:app>
The recommended size for image files is 35dp (@2px: 70dp, @3x: 105dp). Also check the Apple documentation
for more information on shortcut icons.
id
StringDetermines shortcut id.
This should be a unique identifier for the shortcut.
Inherited from Titanium.Proxy
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
title
StringTitle of the shortcut.
In iOS the title can be localized. See here for more infos.
Deprecated since 9.1.0
Use Titanium.UI.Shortcut.items to determine if shortcut is active.
Shortcut visibility.
Determines if the shortcut is visible.
Methods 7
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. |
Deprecated since 9.1.0
Use Titanium.UI.Shortcut.remove instead.
Hide the shortcut.
Pin shortcut to launcher.
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
|
Deprecated since 9.1.0
Use Titanium.UI.Shortcut.add instead.
Allow the shortcut to show.