public final class

CustomTabsIntent.Builder

extends java.lang.Object

 java.lang.Object

↳androidx.browser.customtabs.CustomTabsIntent.Builder

Overview

Builder class for CustomTabsIntent objects.

Summary

Constructors
publicBuilder()

Creates a CustomTabsIntent.Builder object associated with no CustomTabsSession.

publicBuilder(CustomTabsSession session)

Creates a CustomTabsIntent.Builder object associated with a given CustomTabsSession.

Methods
public CustomTabsIntent.BuilderaddDefaultShareMenuItem()

Adds a default share item to the menu.

public CustomTabsIntent.BuilderaddMenuItem(java.lang.String label, PendingIntent pendingIntent)

Adds a menu item.

public CustomTabsIntent.BuilderaddToolbarItem(int id, Bitmap icon, java.lang.String description, PendingIntent pendingIntent)

Adds an action button to the custom tab.

public CustomTabsIntentbuild()

Combines all the options that have been set and returns a new CustomTabsIntent object.

public CustomTabsIntent.BuilderenableUrlBarHiding()

Enables the url bar to hide as the user scrolls down on the page.

public CustomTabsIntent.BuildersetActionButton(Bitmap icon, java.lang.String description, PendingIntent pendingIntent)

Sets the action button that is displayed in the Toolbar with default tinting behavior.

public CustomTabsIntent.BuildersetActionButton(Bitmap icon, java.lang.String description, PendingIntent pendingIntent, boolean shouldTint)

Sets the action button that is displayed in the Toolbar.

public CustomTabsIntent.BuildersetCloseButtonIcon(Bitmap icon)

Sets the Close button icon for the custom tab.

public CustomTabsIntent.BuildersetColorScheme(int colorScheme)

Sets the color scheme that should be applied to the user interface in the custom tab.

public CustomTabsIntent.BuildersetColorSchemeParams(int colorScheme, CustomTabColorSchemeParams params)

Sets CustomTabColorSchemeParams for the given color scheme.

public CustomTabsIntent.BuildersetDefaultColorSchemeParams(CustomTabColorSchemeParams params)

Sets the default CustomTabColorSchemeParams.

public CustomTabsIntent.BuildersetDefaultShareMenuItemEnabled(boolean enabled)

Set whether a default share item is added to the menu.

public CustomTabsIntent.BuildersetExitAnimations(Context context, int enterResId, int exitResId)

Sets the exit animations.

public CustomTabsIntent.BuildersetInstantAppsEnabled(boolean enabled)

Sets whether Instant Apps is enabled for this Custom Tab.

public CustomTabsIntent.BuildersetNavigationBarColor(int color)

Sets the navigation bar color.

public CustomTabsIntent.BuildersetNavigationBarDividerColor(int color)

Sets the navigation bar divider color.

public CustomTabsIntent.BuildersetPendingSession(CustomTabsSession.PendingSession session)

Associates the with the given CustomTabsSession.PendingSession.

public CustomTabsIntent.BuildersetSecondaryToolbarColor(int color)

Sets the color of the secondary toolbar.

public CustomTabsIntent.BuildersetSecondaryToolbarViews(RemoteViews remoteViews, int[] clickableIDs[], PendingIntent pendingIntent)

Sets the remote views displayed in the secondary toolbar in a custom tab.

public CustomTabsIntent.BuildersetSession(CustomTabsSession session)

Associates the with the given CustomTabsSession.

public CustomTabsIntent.BuildersetShareState(int shareState)

Sets the share state that should be applied to the custom tab.

public CustomTabsIntent.BuildersetShowTitle(boolean showTitle)

Sets whether the title should be shown in the custom tab.

public CustomTabsIntent.BuildersetStartAnimations(Context context, int enterResId, int exitResId)

Sets the start animations.

public CustomTabsIntent.BuildersetToolbarColor(int color)

Sets the toolbar color.

public CustomTabsIntent.BuildersetUrlBarHidingEnabled(boolean enabled)

Set whether the url bar should hide as the user scrolls down on the page.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public Builder()

Creates a CustomTabsIntent.Builder object associated with no CustomTabsSession.

public Builder(CustomTabsSession session)

Creates a CustomTabsIntent.Builder object associated with a given CustomTabsSession. Guarantees that the will be sent to the same component as the one the session is associated with.

Parameters:

session: The session to associate this Builder with.

Methods

public CustomTabsIntent.Builder setSession(CustomTabsSession session)

Associates the with the given CustomTabsSession. Guarantees that the will be sent to the same component as the one the session is associated with.

Associates the with the given CustomTabsSession.PendingSession. Overrides the effect of CustomTabsIntent.Builder.setSession(CustomTabsSession).

public CustomTabsIntent.Builder setToolbarColor(int color)

Deprecated: Use CustomTabsIntent.Builder.setDefaultColorSchemeParams(CustomTabColorSchemeParams) instead.

Sets the toolbar color. On Android L and above, this color is also applied to the status bar. To ensure good contrast between status bar icons and the background, Custom Tab implementations may use View on Android M and above, and use a darkened color for the status bar on Android L. Can be overridden for particular color schemes, see CustomTabsIntent.Builder.setColorSchemeParams(int, CustomTabColorSchemeParams).

Parameters:

color:

public CustomTabsIntent.Builder enableUrlBarHiding()

Deprecated: Use CustomTabsIntent.Builder.setUrlBarHidingEnabled(boolean) instead.

Enables the url bar to hide as the user scrolls down on the page.

public CustomTabsIntent.Builder setUrlBarHidingEnabled(boolean enabled)

Set whether the url bar should hide as the user scrolls down on the page.

Parameters:

enabled: Whether url bar hiding is enabled.

public CustomTabsIntent.Builder setCloseButtonIcon(Bitmap icon)

Sets the Close button icon for the custom tab.

Parameters:

icon: The icon Bitmap

public CustomTabsIntent.Builder setShowTitle(boolean showTitle)

Sets whether the title should be shown in the custom tab.

Parameters:

showTitle: Whether the title should be shown.

public CustomTabsIntent.Builder addMenuItem(java.lang.String label, PendingIntent pendingIntent)

Adds a menu item.

Parameters:

label: Menu label.
pendingIntent: Pending intent delivered when the menu item is clicked.

public CustomTabsIntent.Builder addDefaultShareMenuItem()

Deprecated: Use CustomTabsIntent.Builder.setShareState(int) instead. This will set the share state to CustomTabsIntent.SHARE_STATE_ON.

Adds a default share item to the menu.

public CustomTabsIntent.Builder setDefaultShareMenuItemEnabled(boolean enabled)

Deprecated: Use CustomTabsIntent.Builder.setShareState(int) instead. This will set the share state to CustomTabsIntent.SHARE_STATE_ON or CustomTabsIntent.SHARE_STATE_OFF based on enabled.

Set whether a default share item is added to the menu.

Parameters:

enabled: Whether default share item is added.

public CustomTabsIntent.Builder setShareState(int shareState)

Sets the share state that should be applied to the custom tab.

Parameters:

shareState: Desired share state.

See also: CustomTabsIntent.SHARE_STATE_DEFAULT, CustomTabsIntent.SHARE_STATE_ON, CustomTabsIntent.SHARE_STATE_OFF

public CustomTabsIntent.Builder setActionButton(Bitmap icon, java.lang.String description, PendingIntent pendingIntent, boolean shouldTint)

Sets the action button that is displayed in the Toolbar.

This is equivalent to calling CustomTabsIntent.Builder.addToolbarItem(int, Bitmap, String, PendingIntent) with CustomTabsIntent.TOOLBAR_ACTION_BUTTON_ID as id.

Parameters:

icon: The icon.
description: The description for the button. To be used for accessibility.
pendingIntent: pending intent delivered when the button is clicked.
shouldTint: Whether the action button should be tinted..

See also: CustomTabsIntent.Builder.addToolbarItem(int, Bitmap, String, PendingIntent)

public CustomTabsIntent.Builder setActionButton(Bitmap icon, java.lang.String description, PendingIntent pendingIntent)

Sets the action button that is displayed in the Toolbar with default tinting behavior.

See also: CustomTabsIntent.Builder.setActionButton(Bitmap, String, PendingIntent, boolean)

public CustomTabsIntent.Builder addToolbarItem(int id, Bitmap icon, java.lang.String description, PendingIntent pendingIntent)

Deprecated: Use CustomTabsIntent.Builder#setSecondaryToolbarViews(RemoteViews, int[], PendingIntent).

Adds an action button to the custom tab. Multiple buttons can be added via this method. If the given id equals CustomTabsIntent.TOOLBAR_ACTION_BUTTON_ID, the button will be placed on the toolbar; if the bitmap is too wide, it will be put to the bottom bar instead. If the id is not CustomTabsIntent.TOOLBAR_ACTION_BUTTON_ID, it will be directly put on secondary toolbar. The maximum number of allowed toolbar items in a single intent is CustomTabsIntent.getMaxToolbarItems(). Throws an java.lang.IllegalStateException when that number is exceeded per intent.

Parameters:

id: The unique id of the action button. This should be non-negative.
icon: The icon.
description: The description for the button. To be used for accessibility.
pendingIntent: The pending intent delivered when the button is clicked.

See also: CustomTabsIntent.getMaxToolbarItems()

public CustomTabsIntent.Builder setSecondaryToolbarColor(int color)

Deprecated: Use CustomTabsIntent.Builder.setDefaultColorSchemeParams(CustomTabColorSchemeParams) instead.

Sets the color of the secondary toolbar. Can be overridden for particular color schemes, see CustomTabsIntent.Builder.setColorSchemeParams(int, CustomTabColorSchemeParams).

Parameters:

color: The color for the secondary toolbar.

public CustomTabsIntent.Builder setNavigationBarColor(int color)

Deprecated: Use CustomTabsIntent.Builder.setDefaultColorSchemeParams(CustomTabColorSchemeParams) instead.

Sets the navigation bar color. Has no effect on API versions below L. To ensure good contrast between navigation bar icons and the background, Custom Tab implementations may use View on Android O and above, and darken the provided color on Android L-N. Can be overridden for particular color schemes, see CustomTabsIntent.Builder.setColorSchemeParams(int, CustomTabColorSchemeParams).

Parameters:

color: The color for the navigation bar.

public CustomTabsIntent.Builder setNavigationBarDividerColor(int color)

Deprecated: Use CustomTabsIntent.Builder.setDefaultColorSchemeParams(CustomTabColorSchemeParams) instead.

Sets the navigation bar divider color. Has no effect on API versions below P. Can be overridden for particular color schemes, see CustomTabsIntent.Builder.setColorSchemeParams(int, CustomTabColorSchemeParams).

Parameters:

color: The color for the navigation bar divider.

public CustomTabsIntent.Builder setSecondaryToolbarViews(RemoteViews remoteViews, int[] clickableIDs[], PendingIntent pendingIntent)

Sets the remote views displayed in the secondary toolbar in a custom tab.

Parameters:

remoteViews: The that will be shown on the secondary toolbar.
clickableIDs: The IDs of clickable views. The onClick event of these views will be handled by custom tabs.
pendingIntent: The PendingIntent that will be sent when the user clicks on one of the Views in clickableIDs. When the PendingIntent is sent, it will have the current URL as its intent data.

See also: CustomTabsIntent.EXTRA_REMOTEVIEWS, CustomTabsIntent.EXTRA_REMOTEVIEWS_VIEW_IDS, CustomTabsIntent.EXTRA_REMOTEVIEWS_PENDINGINTENT, CustomTabsIntent.EXTRA_REMOTEVIEWS_CLICKED_ID

public CustomTabsIntent.Builder setInstantAppsEnabled(boolean enabled)

Sets whether Instant Apps is enabled for this Custom Tab.

Parameters:

enabled: Whether Instant Apps should be enabled.

public CustomTabsIntent.Builder setStartAnimations(Context context, int enterResId, int exitResId)

Sets the start animations.

Parameters:

context: Application context.
enterResId: Resource ID of the "enter" animation for the browser.
exitResId: Resource ID of the "exit" animation for the application.

public CustomTabsIntent.Builder setExitAnimations(Context context, int enterResId, int exitResId)

Sets the exit animations.

Parameters:

context: Application context.
enterResId: Resource ID of the "enter" animation for the application.
exitResId: Resource ID of the "exit" animation for the browser.

public CustomTabsIntent.Builder setColorScheme(int colorScheme)

Sets the color scheme that should be applied to the user interface in the custom tab.

Parameters:

colorScheme: Desired color scheme.

See also: CustomTabsIntent.COLOR_SCHEME_SYSTEM, CustomTabsIntent.COLOR_SCHEME_LIGHT, CustomTabsIntent.COLOR_SCHEME_DARK

public CustomTabsIntent.Builder setColorSchemeParams(int colorScheme, CustomTabColorSchemeParams params)

Sets CustomTabColorSchemeParams for the given color scheme. This allows specifying two different toolbar colors for light and dark schemes. It can be useful if CustomTabsIntent.COLOR_SCHEME_SYSTEM is set: Custom Tabs will follow the system settings and apply the corresponding CustomTabColorSchemeParams "on the fly" when the settings change. If there is no CustomTabColorSchemeParams for the current scheme, or a particular field of it is null, Custom Tabs will fall back to the defaults provided via CustomTabsIntent.Builder.setDefaultColorSchemeParams(CustomTabColorSchemeParams). Example:


     CustomTabColorSchemeParams darkParams = new CustomTabColorSchemeParams.Builder()
             .setToolbarColor(darkColor)
             .build();
     CustomTabColorSchemeParams otherParams = new CustomTabColorSchemeParams.Builder()
             .setNavigationBarColor(otherColor)
             .build();
     CustomTabIntent intent = new CustomTabIntent.Builder()
             .setColorScheme(COLOR_SCHEME_SYSTEM)
             .setColorSchemeParams(COLOR_SCHEME_DARK, darkParams)
             .setDefaultColorSchemeParams(otherParams)
             .build();
 

Parameters:

colorScheme: A constant representing a color scheme (see CustomTabsIntent.Builder.setColorScheme(int)). It should not be CustomTabsIntent.COLOR_SCHEME_SYSTEM, because that represents a behavior rather than a particular color scheme.
params: An instance of CustomTabColorSchemeParams.

public CustomTabsIntent.Builder setDefaultColorSchemeParams(CustomTabColorSchemeParams params)

Sets the default CustomTabColorSchemeParams. This will set a default color scheme that applies when no CustomTabColorSchemeParams specified for current color scheme via CustomTabsIntent.Builder.setColorSchemeParams(int, CustomTabColorSchemeParams).

Parameters:

params: An instance of CustomTabColorSchemeParams.

public CustomTabsIntent build()

Combines all the options that have been set and returns a new CustomTabsIntent object.