# Titanium.UI.Android.Snackbar

Snackbars provide brief messages about app processes at the bottom of the screen.

Availability
11.1.0

# Overview

Android
Android

For design guidelines, see Material design: Snackbars (opens new window)

# Examples

# Show a Snackbar

Display a Snackbar with an action button.

const win = Ti.UI.createWindow();
const btn = Ti.UI.createButton({
  title: 'show message'
});
btn.addEventListener('click', function() {
  snack.show();
});

const snack = Ti.UI.Android.createSnackbar({
  message: 'Hello Snackbar!',
  length: Ti.UI.Android.Snackbar.LENGTH_INDEFINITE,
  action: 'click me'
});
snack.addEventListener('click', function(e) {
  console.log(e.action);
});

win.add([btn, snack]);
win.open();

# Properties

# action

Availability
11.1.0
action :String

Text of the right hand action button


# apiName READONLY

Availability
11.1.0
apiName :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, Titanium.UI.Button returns Ti.UI.Button.


# bubbleParent

Availability
11.1.0
bubbleParent :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.

Default: true


# elevation

Availability
11.1.0
elevation :Number

Base elevation of the view relative to its parent in pixels.

The elevation of a view determines the appearance of its shadow. Higher elevations produce larger and softer shadows.

Note: The elevation property only works on Titanium.UI.View objects. Many Android components have a default elevation that cannot be modified. For more information, see Google design guidelines: Elevation and shadows.


# filterTouchesWhenObscured

Availability
11.1.0
filterTouchesWhenObscured :Boolean

Discards touch related events if another app's system overlay covers the view.

This is a security feature to protect an app from "tapjacking", where a malicious app can use a system overlay to intercept touch events in your app or to trick the end-user to tap on UI in your app intended for the overlay.

Setting this property to true causes touch related events (including "click") to not be fired if a system overlay overlaps the view.

Default: false


# hiddenBehavior

Availability
11.1.0
hiddenBehavior :Number

Sets the behavior when hiding an object to release or keep the free space

If setting hiddenBehavior to HIDDEN_BEHAVIOR_GONE it will automatically release the space the view occupied. For example: in a vertical layout the views below the object will move up when you hide an object with hiddenBehavior:Titanium.UI.HIDDEN_BEHAVIOR_GONE.

Defaults to Titanium.UI.HIDDEN_BEHAVIOR_INVISIBLE.

This API can be assigned the following constants:

# id

Availability
11.1.0
id :String

View's identifier.

The id property of the Ti.UI.View represents the view's identifier. The identifier string does not have to be unique. You can use this property with getViewById method.


# length

Availability
11.1.0
length :Number

Display time of the Snackbar

Use with on of the constants: Ti.UI.Android.Snackbar.LENGTH_SHORT, Ti.UI.Android.Snackbar.LENGTH_LONG or Ti.UI.Android.Snackbar.LENGTH_INDEFINITE

Default: LENGTH_SHORT


# lifecycleContainer

Availability
11.1.0

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.


# message

Availability
11.1.0
message :String

Text of Snackbar


# rotation

Availability
11.1.0
rotation :Number

Clockwise 2D rotation of the view in degrees.

Translation values are applied to the static post layout value.


# rotationX

Availability
11.1.0
rotationX :Number

Clockwise rotation of the view in degrees (x-axis).

Translation values are applied to the static post layout value.


# rotationY

Availability
11.1.0
rotationY :Number

Clockwise rotation of the view in degrees (y-axis).

Translation values are applied to the static post layout value.


# scaleX

Availability
11.1.0
scaleX :Number

Scaling of the view in x-axis in pixels.

Translation values are applied to the static post layout value.


# scaleY

Availability
11.1.0
scaleY :Number

Scaling of the view in y-axis in pixels.

Translation values are applied to the static post layout value.


# tooltip

Availability
12.1.0
tooltip :String

The default text to display in the control's tooltip.

Assigning a value to this property causes the tool tip to be displayed for the view. Setting the property to null cancels the display of the tool tip for the view. Note: This property is only used for apps targeting macOS Catalyst.


# touchFeedback

Availability
11.1.0
touchFeedback :Boolean

A material design visual construct that provides an instantaneous visual confirmation of touch point.

Touch feedback is only applied to a view's background. It is never applied to the view's foreground content such as a Titanium.UI.ImageView's image.

For Titanium versions older than 9.1.0, touch feedback only works if you set the backgroundColor property to a non-transparent color.

Default: false


# touchFeedbackColor

Availability
11.1.0
touchFeedbackColor :String

Optional touch feedback ripple color. This has no effect unless touchFeedback is true.

Defaults to provided theme color.


# transitionName

Availability
11.1.0
transitionName :String

A name to identify this view in activity transition.

Name should be unique in the View hierarchy.


# translationX

Availability
11.1.0
translationX :Number

Horizontal location of the view relative to its left position in pixels.

Translation values are applied to the static post layout value.


# translationY

Availability
11.1.0
translationY :Number

Vertical location of the view relative to its top position in pixels.

Translation values are applied to the static post layout value.


# translationZ

Availability
11.1.0
translationZ :Number

Depth of the view relative to its elevation in pixels.

Translation values are applied to the static post layout value.

# Methods

# addEventListener

Availability
11.1.0
addEventListener(name, callback) void

Adds the specified callback as an event listener for the named event.

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to invoke when the event is fired.

Returns

Type
void

# applyProperties

Availability
11.1.0
applyProperties(props) void

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.

Parameters

Name Type Description
props Dictionary

A dictionary of properties to apply.

Returns

Type
void

# fireEvent

Availability
11.1.0
fireEvent(name[, event]) void

Fires a synthesized event to any registered listeners.

Parameters

Name 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.

Returns

Type
void

# getViewById

Availability
11.1.0
getViewById(id) Titanium.UI.View

Returns the matching view of a given view ID.

Parameters

Name Type Description
id String

The ID of the view that should be returned. Use the id property in your views to enable it for indexing in this method.

Returns


# hide

Availability
11.1.0
hide([options]) void

Hides this view.

Parameters

Name Type Description
options AnimatedOptions

Animation options for Android only. Since SDK 5.1.0 and used only on Android 5.0+

Determines whether to enable a circular reveal animation. Note that the default here is equivalent to passing in { animated: false }

Returns

Type
void

# insertAt

Availability
11.1.0
insertAt(params) void

Inserts a view at the specified position in the children array.

Useful if the layout property is set to horizontal or vertical.

Parameters

Name Type Description
params ViewPositionOptions

Pass an object that specifies the view to insert and optionally at which position (defaults to end)

Returns

Type
void

# removeEventListener

Availability
11.1.0
removeEventListener(name, callback) void

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);

Parameters

Name Type Description
name String

Name of the event.

callback Callback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

Returns

Type
void

# replaceAt

Availability
11.1.0
replaceAt(params) void

Replaces a view at the specified position in the children array.

Useful if the layout property is set to horizontal or vertical.

Parameters

Name Type Description
params ViewPositionOptions

Pass an object with the view to insert and the position of the view to replace. In this case the position property is required.

Returns

Type
void

# show

Availability
11.1.0
show([options]) void

Show the Snackbar

Parameters

Name Type Description
options AnimatedOptions

Animation options for Android only. Since SDK 5.1.0 and only used on Android 5.0+

Determines whether to enable a circular reveal animation. Note that the default here is equivalent to passing in { animated: false }

Returns

Type
void

# stopAnimation

Availability
12.1.0
stopAnimation() void

Stops a running animation.

Stops a running view Titanium.UI.Animation.

Returns

Type
void

# Events

# click

Availability
11.1.0

Fired when the action button is clicked

There is a subtle difference between singletap and click events.

A singletap event is generated when the user taps the screen briefly without moving their finger. This gesture will also generate a click event.

However, a click event can also be generated when the user touches, moves their finger, and then removes it from the screen.

On Android, a click event can also be generated by a trackball click.

Properties

Name Type Description
action String

The text of the action button.

source Object

Source object that fired the event.

type String

Name of the event fired.

bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

# Constants

# LENGTH_INDEFINITE

Availability
11.1.0
LENGTH_INDEFINITE :Number

Use with length to specify the display time.


# LENGTH_LONG

Availability
11.1.0
LENGTH_LONG :Number

Use with length to specify the display time.


# LENGTH_SHORT

Availability
11.1.0
LENGTH_SHORT :Number

Use with length to specify the display time.