Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Toolbar

public class Toolbar
extends ViewGroup

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ androidx.appcompat.widget.Toolbar


A standard toolbar for use within application content.

A Toolbar is a generalization of action bars for use within application layouts. While an action bar is traditionally part of an Activity's opaque window decor controlled by the framework, a Toolbar may be placed at any arbitrary level of nesting within a view hierarchy. An application may choose to designate a Toolbar as the action bar for an Activity using the setSupportActionBar() method.

Toolbar supports a more focused feature set than ActionBar. From start to end, a toolbar may contain a combination of the following optional elements:

  • A navigation button. This may be an Up arrow, navigation menu toggle, close, collapse, done or another glyph of the app's choosing. This button should always be used to access other navigational destinations within the container of the Toolbar and its signified content or otherwise leave the current context signified by the Toolbar. The navigation button is vertically aligned within the Toolbar's minimum height, if set.
  • A branded logo image. This may extend to the height of the bar and can be arbitrarily wide.
  • A title and subtitle. The title should be a signpost for the Toolbar's current position in the navigation hierarchy and the content contained there. The subtitle, if present should indicate any extended information about the current content. If an app uses a logo image it should strongly consider omitting a title and subtitle.
  • One or more custom views. The application may add arbitrary child views to the Toolbar. They will appear at this position within the layout. If a child view's Toolbar.LayoutParams indicates a Gravity value of CENTER_HORIZONTAL the view will attempt to center within the available space remaining in the Toolbar after all other elements have been measured.
  • An action menu. The menu of actions will pin to the end of the Toolbar offering a few frequent, important or typical actions along with an optional overflow menu for additional actions. Action buttons are vertically aligned within the Toolbar's minimum height, if set.

In modern Android UIs developers should lean more on a visually distinct color scheme for toolbars than on their application icon. The use of application icon plus title as a standard layout is discouraged on API 21 devices and newer.

R.attr.buttonGravity R.attr.collapseContentDescription R.attr.collapseIcon R.attr.contentInsetEnd R.attr.contentInsetLeft R.attr.contentInsetRight R.attr.contentInsetStart R.attr.contentInsetStartWithNavigation R.attr.contentInsetEndWithActions R.attr.gravity R.attr.logo R.attr.logoDescription R.attr.maxButtonHeight R.attr.navigationContentDescription R.attr.navigationIcon R.attr.popupTheme R.attr.subtitle R.attr.subtitleTextAppearance R.attr.subtitleTextColor R.attr.title R.attr.titleMargin R.attr.titleMarginBottom R.attr.titleMarginEnd R.attr.titleMarginStart R.attr.titleMarginTop R.attr.titleTextAppearance R.attr.titleTextColor R.attr.menu

Summary

Nested classes

class Toolbar.LayoutParams

Layout information for child views of Toolbars. 

interface Toolbar.OnMenuItemClickListener

Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners. 

class Toolbar.SavedState

 

Inherited constants

Inherited fields

Public constructors

Toolbar(Context context)
Toolbar(Context context, AttributeSet attrs)
Toolbar(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

void collapseActionView()

Collapse a currently expanded action view.

void dismissPopupMenus()

Dismiss all currently showing popup menus, including overflow or submenus.

Toolbar.LayoutParams generateLayoutParams(AttributeSet attrs)
CharSequence getCollapseContentDescription()

Retrieve the currently configured content description for the collapse button view.

Drawable getCollapseIcon()

Return the current drawable used as the collapse icon.

int getContentInsetEnd()

Gets the ending content inset for this toolbar.

int getContentInsetEndWithActions()

Gets the end content inset to use when action buttons are present.

int getContentInsetLeft()

Gets the left content inset for this toolbar.

int getContentInsetRight()

Gets the right content inset for this toolbar.

int getContentInsetStart()

Gets the starting content inset for this toolbar.

int getContentInsetStartWithNavigation()

Gets the start content inset to use when a navigation button is present.

int getCurrentContentInsetEnd()

Gets the content inset that will be used on the ending side of the bar in the current toolbar configuration.

int getCurrentContentInsetLeft()

Gets the content inset that will be used on the left side of the bar in the current toolbar configuration.

int getCurrentContentInsetRight()

Gets the content inset that will be used on the right side of the bar in the current toolbar configuration.

int getCurrentContentInsetStart()

Gets the content inset that will be used on the starting side of the bar in the current toolbar configuration.

Drawable getLogo()

Return the current logo drawable.

CharSequence getLogoDescription()

Return the description of the toolbar's logo.

Menu getMenu()

Return the Menu shown in the toolbar.

CharSequence getNavigationContentDescription()

Retrieve the currently configured content description for the navigation button view.

Drawable getNavigationIcon()

Return the current drawable used as the navigation icon.

Drawable getOverflowIcon()

Return the current drawable used as the overflow icon.

int getPopupTheme()
CharSequence getSubtitle()

Return the subtitle of this toolbar.

CharSequence getTitle()

Returns the title of this toolbar.

int getTitleMarginBottom()
int getTitleMarginEnd()
int getTitleMarginStart()
int getTitleMarginTop()
boolean hasExpandedActionView()

Check whether this Toolbar is currently hosting an expanded action view.

boolean hideOverflowMenu()

Hide the overflow items from the associated menu.

void inflateMenu(int resId)

Inflate a menu resource into this toolbar.

boolean isOverflowMenuShowing()

Check whether the overflow menu is currently showing.

boolean onHoverEvent(MotionEvent ev)
void onRtlPropertiesChanged(int layoutDirection)
boolean onTouchEvent(MotionEvent ev)
void setCollapseContentDescription(CharSequence description)

Set a content description for the collapse button if one is present.

void setCollapseContentDescription(int resId)

Set a content description for the collapse button if one is present.

void setCollapseIcon(Drawable icon)

Set the icon to use for the toolbar's collapse button.

void setCollapseIcon(int resId)

Set the icon to use for the toolbar's collapse button.

void setContentInsetEndWithActions(int insetEndWithActions)

Sets the start content inset to use when action buttons are present.

void setContentInsetStartWithNavigation(int insetStartWithNavigation)

Sets the start content inset to use when a navigation button is present.

void setContentInsetsAbsolute(int contentInsetLeft, int contentInsetRight)

Sets the content insets for this toolbar.

void setContentInsetsRelative(int contentInsetStart, int contentInsetEnd)

Sets the content insets for this toolbar relative to layout direction.

void setLogo(int resId)

Set a logo drawable from a resource id.

void setLogo(Drawable drawable)

Set a logo drawable.

void setLogoDescription(int resId)

Set a description of the toolbar's logo.

void setLogoDescription(CharSequence description)

Set a description of the toolbar's logo.

void setNavigationContentDescription(CharSequence description)

Set a content description for the navigation button if one is present.

void setNavigationContentDescription(int resId)

Set a content description for the navigation button if one is present.

void setNavigationIcon(Drawable icon)

Set the icon to use for the toolbar's navigation button.

void setNavigationIcon(int resId)

Set the icon to use for the toolbar's navigation button.

void setNavigationOnClickListener(View.OnClickListener listener)

Set a listener to respond to navigation events.

void setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener listener)

Set a listener to respond to menu item click events.

void setOverflowIcon(Drawable icon)

Set the icon to use for the overflow button.

void setPopupTheme(int resId)

Specifies the theme to use when inflating popup menus.

void setSubtitle(CharSequence subtitle)

Set the subtitle of this toolbar.

void setSubtitle(int resId)

Set the subtitle of this toolbar.

void setSubtitleTextAppearance(Context context, int resId)

Sets the text color, size, style, hint color, and highlight color from the specified TextAppearance resource.

void setSubtitleTextColor(int color)

Sets the text color of the subtitle, if present.

void setSubtitleTextColor(ColorStateList color)

Sets the text color of the subtitle, if present.

void setTitle(CharSequence title)

Set the title of this toolbar.

void setTitle(int resId)

Set the title of this toolbar.

void setTitleMargin(int start, int top, int end, int bottom)

Sets the title margin.

void setTitleMarginBottom(int margin)

Sets the bottom title margin in pixels.

void setTitleMarginEnd(int margin)

Sets the ending title margin in pixels.

void setTitleMarginStart(int margin)

Sets the starting title margin in pixels.

void setTitleMarginTop(int margin)

Sets the top title margin in pixels.

void setTitleTextAppearance(Context context, int resId)

Sets the text color, size, style, hint color, and highlight color from the specified TextAppearance resource.

void setTitleTextColor(int color)

Sets the text color of the title, if present.

void setTitleTextColor(ColorStateList color)

Sets the text color of the title, if present.

boolean showOverflowMenu()

Show the overflow items from the associated menu.

Protected methods

boolean checkLayoutParams(ViewGroup.LayoutParams p)
Toolbar.LayoutParams generateDefaultLayoutParams()
Toolbar.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)
void onDetachedFromWindow()
void onLayout(boolean changed, int l, int t, int r, int b)
void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
void onRestoreInstanceState(Parcelable state)
Parcelable onSaveInstanceState()

Inherited methods

Public constructors

Toolbar

public Toolbar (Context context)

Parameters
context Context

Toolbar

public Toolbar (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

Toolbar

public Toolbar (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

Public methods

collapseActionView

public void collapseActionView ()

Collapse a currently expanded action view. If this Toolbar does not have an expanded action view this method has no effect.

An action view may be expanded either directly from the MenuItem it belongs to or by user action.

dismissPopupMenus

public void dismissPopupMenus ()

Dismiss all currently showing popup menus, including overflow or submenus.

generateLayoutParams

public Toolbar.LayoutParams generateLayoutParams (AttributeSet attrs)

Parameters
attrs AttributeSet

Returns
Toolbar.LayoutParams

getCollapseContentDescription

public CharSequence getCollapseContentDescription ()

Retrieve the currently configured content description for the collapse button view. This will be used to describe the collapse action to users through mechanisms such as screen readers or tooltips.

Returns
CharSequence The collapse button's content description R.attr.collapseContentDescription

getCollapseIcon

public Drawable getCollapseIcon ()

Return the current drawable used as the collapse icon.

Returns
Drawable The collapse icon drawable R.attr.collapseIcon

getContentInsetEnd

public int getContentInsetEnd ()

Gets the ending content inset for this toolbar.

The content inset affects the valid area for Toolbar content other than the navigation button and menu. Insets define the minimum margin for these components and can be used to effectively align Toolbar content along well-known gridlines.

Returns
int The ending content inset for this toolbar

getContentInsetEndWithActions

public int getContentInsetEndWithActions ()

Gets the end content inset to use when action buttons are present.

Different content insets are often called for when additional buttons are present in the toolbar, as well as at different toolbar sizes. The larger value of getContentInsetEnd() and this value will be used during layout.

Returns
int the end content inset used when a menu has been set in pixels

getContentInsetLeft

public int getContentInsetLeft ()

Gets the left content inset for this toolbar.

The content inset affects the valid area for Toolbar content other than the navigation button and menu. Insets define the minimum margin for these components and can be used to effectively align Toolbar content along well-known gridlines.

Returns
int The left content inset for this toolbar

getContentInsetRight

public int getContentInsetRight ()

Gets the right content inset for this toolbar.

The content inset affects the valid area for Toolbar content other than the navigation button and menu. Insets define the minimum margin for these components and can be used to effectively align Toolbar content along well-known gridlines.

Returns
int The right content inset for this toolbar

getContentInsetStart

public int getContentInsetStart ()

Gets the starting content inset for this toolbar.

The content inset affects the valid area for Toolbar content other than the navigation button and menu. Insets define the minimum margin for these components and can be used to effectively align Toolbar content along well-known gridlines.

Returns
int The starting content inset for this toolbar

getContentInsetStartWithNavigation

public int getContentInsetStartWithNavigation ()

Gets the start content inset to use when a navigation button is present.

Different content insets are often called for when additional buttons are present in the toolbar, as well as at different toolbar sizes. The larger value of getContentInsetStart() and this value will be used during layout.

Returns
int the start content inset used when a navigation icon has been set in pixels

getCurrentContentInsetEnd

public int getCurrentContentInsetEnd ()

Gets the content inset that will be used on the ending side of the bar in the current toolbar configuration.

Returns
int the current content inset end in pixels

getCurrentContentInsetLeft

public int getCurrentContentInsetLeft ()

Gets the content inset that will be used on the left side of the bar in the current toolbar configuration.

Returns
int the current content inset left in pixels

getCurrentContentInsetRight

public int getCurrentContentInsetRight ()

Gets the content inset that will be used on the right side of the bar in the current toolbar configuration.

Returns
int the current content inset right in pixels

getCurrentContentInsetStart

public int getCurrentContentInsetStart ()

Gets the content inset that will be used on the starting side of the bar in the current toolbar configuration.

Returns
int the current content inset start in pixels

getLogo

public Drawable getLogo ()

Return the current logo drawable.

Returns
Drawable The current logo drawable

getLogoDescription

public CharSequence getLogoDescription ()

Return the description of the toolbar's logo.

Returns
CharSequence A description of the logo

getMenu

public Menu getMenu ()

Return the Menu shown in the toolbar.

Applications that wish to populate the toolbar's menu can do so from here. To use an XML menu resource, use inflateMenu(int).

Returns
Menu The toolbar's Menu R.attr.menu

getNavigationContentDescription

public CharSequence getNavigationContentDescription ()

Retrieve the currently configured content description for the navigation button view. This will be used to describe the navigation action to users through mechanisms such as screen readers or tooltips.

Returns
CharSequence The navigation button's content description R.attr.navigationContentDescription

getNavigationIcon

public Drawable getNavigationIcon ()

Return the current drawable used as the navigation icon.

Returns
Drawable The navigation icon drawable R.attr.navigationIcon

getOverflowIcon

public Drawable getOverflowIcon ()

Return the current drawable used as the overflow icon.

Returns
Drawable The overflow icon drawable

getPopupTheme

public int getPopupTheme ()

Returns
int resource identifier of the theme used to inflate popup menus, or 0 if menus are inflated against the toolbar theme

See also:

getSubtitle

public CharSequence getSubtitle ()

Return the subtitle of this toolbar.

Returns
CharSequence The current subtitle

getTitle

public CharSequence getTitle ()

Returns the title of this toolbar.

Returns
CharSequence The current title.

getTitleMarginBottom

public int getTitleMarginBottom ()

Returns
int the bottom title margin in pixels

getTitleMarginEnd

public int getTitleMarginEnd ()

Returns
int the ending title margin in pixels

getTitleMarginStart