Most visited

Recently visited

Toolbar

public class Toolbar
extends ViewGroup

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.support.v7.widget.Toolbar


用于应用程序内容的标准工具栏。

一个工具栏是action bars的推广,用于应用程序布局。 虽然操作栏传统上是由框架控制的Activity's不透明窗口装饰的一部分,但工具栏可以放置在视图层次结构中的任意任意级别的嵌套上。 应用程序可以选择使用setSupportActionBar()方法将工具栏指定为活动的操作栏。

工具栏支持比ActionBar更集中的功能集。 从开始到结束,工具栏可能包含以下可选元素的组合:

在现代的Android用户界面中,开发人员应该更多地依赖工具栏视觉上不同的颜色方案,而不是其应用程序图标。 应用程序图标和标题作为标准布局的使用在API 21设备和更新版本上是不鼓励的。

Summary

Nested classes

class Toolbar.LayoutParams

工具栏的子视图的布局信息。

interface Toolbar.OnMenuItemClickListener

如果项目本身没有单独的项目点击监听器,则负责接收菜单项点击事件。

class Toolbar.SavedState

 

XML attributes

android.support.v7.appcompat:buttonGravity  
android.support.v7.appcompat:collapseContentDescription Text to set as the content description for the collapse button. 
android.support.v7.appcompat:collapseIcon Icon drawable to use for the collapse button. 
android.support.v7.appcompat:contentInsetEnd Minimum inset for content views within a bar. 
android.support.v7.appcompat:contentInsetEndWithActions Minimum inset for content views within a bar when actions from a menu are present. 
android.support.v7.appcompat:contentInsetLeft Minimum inset for content views within a bar. 
android.support.v7.appcompat:contentInsetRight Minimum inset for content views within a bar. 
android.support.v7.appcompat:contentInsetStart Minimum inset for content views within a bar. 
android.support.v7.appcompat:contentInsetStartWithNavigation Minimum inset for content views within a bar when a navigation button is present, such as the Up button. 
android.support.v7.appcompat:logo Drawable to set as the logo that appears at the starting side of the Toolbar, just after the navigation button. 
android.support.v7.appcompat:logoDescription A content description string to describe the appearance of the associated logo image. 
android.support.v7.appcompat:maxButtonHeight  
android.support.v7.appcompat:navigationContentDescription Text to set as the content description for the navigation button located at the start of the toolbar. 
android.support.v7.appcompat:navigationIcon Icon drawable to use for the navigation button located at the start of the toolbar. 
android.support.v7.appcompat:popupTheme Reference to a theme that should be used to inflate popups shown by widgets in the toolbar. 
android.support.v7.appcompat:subtitle Specifies subtitle text used for navigationMode="normal"

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

android.support.v7.appcompat:subtitleTextAppearance  
android.support.v7.appcompat:subtitleTextColor A color to apply to the subtitle string. 
android.support.v7.appcompat:title  
android.support.v7.appcompat:titleMargin Specifies extra space on the left, start, right and end sides of the toolbar's title. 
android.support.v7.appcompat:titleMarginBottom Specifies extra space on the bottom side of the toolbar's title. 
android.support.v7.appcompat:titleMarginEnd Specifies extra space on the end side of the toolbar's title. 
android.support.v7.appcompat:titleMarginStart Specifies extra space on the start side of the toolbar's title. 
android.support.v7.appcompat:titleMarginTop Specifies extra space on the top side of the toolbar's title. 
android.support.v7.appcompat:titleTextAppearance  
android.support.v7.appcompat:titleTextColor A color to apply to the title string. 
android:gravity  

Inherited XML attributes

From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

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

Public methods

void collapseActionView()

折叠当前展开的操作视图。

void dismissPopupMenus()

关闭当前显示的所有弹出菜单,包括溢出或子菜单。

Toolbar.LayoutParams generateLayoutParams(AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

int getContentInsetEnd()

获取此工具栏的结尾内容插图。

int getContentInsetEndWithActions()

获取操作按钮存在时插入的结束内容。

int getContentInsetLeft()

获取此工具栏的左侧内容插图。

int getContentInsetRight()

获取此工具栏的正确内容插图。

int getContentInsetStart()

获取此工具栏的起始内容插图。

int getContentInsetStartWithNavigation()

获取导航按钮存在时的起始内容插图。

int getCurrentContentInsetEnd()

获取将在当前工具栏配置中的条的结尾侧使用的内容插入。

int getCurrentContentInsetLeft()

获取将在当前工具栏配置中的栏左侧使用的内容插入。

int getCurrentContentInsetRight()

获取将在当前工具栏配置中的条右侧使用的内容插入。

int getCurrentContentInsetStart()

获取将在当前工具栏配置中的条的起始侧使用的内容插入。

Drawable getLogo()

返回当前可绘制的徽标。

CharSequence getLogoDescription()

返回工具栏徽标的描述。

Menu getMenu()

返回工具栏中显示的菜单。

CharSequence getNavigationContentDescription()

检索导航按钮视图的当前配置的内容描述。

Drawable getNavigationIcon()

返回用作导航图标的当前绘图。

Drawable getOverflowIcon()

返回用作溢出图标的当前绘图。

int getPopupTheme()
CharSequence getSubtitle()

返回此工具栏的副标题。

CharSequence getTitle()

返回此工具栏的标题。

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

检查此工具栏当前是否托管扩展的操作视图。

boolean hideOverflowMenu()

隐藏相关菜单中的溢出项目。

void inflateMenu(int resId)

将菜单资源充入此工具栏。

boolean isOverflowMenuShowing()

检查当前是否显示溢出菜单。

boolean onHoverEvent(MotionEvent ev)

实现此方法来处理悬停事件。

void onRtlPropertiesChanged(int layoutDirection)

当任何RTL属性(布局方向或文本方向或文本对齐)已被更改时调用。

boolean onTouchEvent(MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

void setContentInsetEndWithActions(int insetEndWithActions)

设置操作按钮出现时使用的起始内容插图。

void setContentInsetStartWithNavigation(int insetStartWithNavigation)

设置存在导航按钮时使用的起始内容插图。

void setContentInsetsAbsolute(int contentInsetLeft, int contentInsetRight)

设置此工具栏的内容插页。

void setContentInsetsRelative(int contentInsetStart, int contentInsetEnd)

设置此工具栏相对于版面方向的内容插页。

void setLogo(int resId)

从资源ID中设置可绘制的徽标。

void setLogo(Drawable drawable)

设置可绘制的徽标。

void setLogoDescription(int resId)

设置工具栏徽标的说明。

void setLogoDescription(CharSequence description)

设置工具栏徽标的说明。

void setNavigationContentDescription(CharSequence description)

为导航按钮设置内容说明(如果存在)。

void setNavigationContentDescription(int resId)

为导航按钮设置内容说明(如果存在)。

void setNavigationIcon(Drawable icon)

设置用于工具栏导航按钮的图标。

void setNavigationIcon(int resId)

设置用于工具栏导航按钮的图标。

void setNavigationOnClickListener(View.OnClickListener listener)

设置一个监听器来响应导航事件。

void setOnMenuItemClickListener(Toolbar.OnMenuItemClickListener listener)

设置一个侦听器来响应菜单项点击事件。

void setOverflowIcon(Drawable icon)

设置用于溢出按钮的图标。

void setPopupTheme(int resId)

指定充气弹出菜单时要使用的主题。

void setSubtitle(CharSequence subtitle)

设置此工具栏的副标题。

void setSubtitle(int resId)

设置此工具栏的副标题。

void setSubtitleTextAppearance(Context context, int resId)

设置指定TextAppearance资源中的文本颜色,大小,样式,提示颜色和高亮颜色。

void setSubtitleTextColor(int color)

设置字幕的文本颜色(如果存在)。

void setTitle(CharSequence title)

设置此工具栏的标题。

void setTitle(int resId)

设置此工具栏的标题。

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

设置标题边距。

void setTitleMarginBottom(int margin)

以像素为单位设置底部标题边距。

void setTitleMarginEnd(int margin)

以像素为单位设置结束标题边距。

void setTitleMarginStart(int margin)

以像素为单位设置起始标题边距。

void setTitleMarginTop(int margin)

以像素为单位设置顶部标题边距。

void setTitleTextAppearance(Context context, int resId)

设置指定TextAppearance资源中的文本颜色,大小,样式,提示颜色和高亮颜色。

void setTitleTextColor(int color)

设置标题的文本颜色(如果存在)。

boolean showOverflowMenu()

显示相关菜单中的溢出项目。

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)

挂钩允许视图重新应用以前由 onSaveInstanceState()生成的内部状态的表示。

Parcelable onSaveInstanceState()

钩子允许视图生成其内部状态的表示,稍后可用于创建具有相同状态的新实例。

Inherited methods

From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android.support.v7.appcompat:buttonGravity

android.support.v7.appcompat:collapseContentDescription

要设置为折叠按钮的内容描述的文本。

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

android.support.v7.appcompat:collapseIcon

可用于折叠按钮的图标。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.v7.appcompat:contentInsetEnd

条内的内容视图的最小插入。 导航按钮和菜单视图除外。 仅适用于某些主题和配置。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:contentInsetEndWithActions

当来自菜单的操作存在时,条内的内容视图的最小插入。 仅适用于某些主题和配置。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:contentInsetLeft

条内的内容视图的最小插入。 导航按钮和菜单视图除外。 仅适用于某些主题和配置。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:contentInsetRight

条内的内容视图的最小插入。 导航按钮和菜单视图除外。 仅适用于某些主题和配置。

可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:contentInsetStart

条内的内容视图的最小插入。 导航按钮和菜单视图除外。 仅适用于某些主题和配置。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:contentInsetStartWithNavigation

当存在导航按钮(如“上”按钮)时,条形内的内容视图的最小插入点。 仅适用于某些主题和配置。

可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:logo

可以将其设置为出现在工具栏起始处的徽标,位于导航按钮之后。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.v7.appcompat:logoDescription

内容描述字符串,用于描述关联的徽标图像的外观。

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

android.support.v7.appcompat:maxButtonHeight

android.support.v7.appcompat:navigationContentDescription

要设置为位于工具栏开头的导航按钮的内容描述的文本。

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

相关方法:

android.support.v7.appcompat:navigationIcon

可绘制的图标用于位于工具栏开头的导航按钮。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

相关方法:

android.support.v7.appcompat:popupTheme

引用一个主题,用于对工具栏中的小部件显示的弹出窗口进行充气。

可能是另一种资源的引用,其形式为“ @[+][package:]type/name ”或形式为“一个主题属性 ?[package:]type/name ”。

android.support.v7.appcompat:subtitle

指定用于navigationMode =“normal”的字幕文本

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

android.support.v7.appcompat:subtitleTextAppearance

android.support.v7.appcompat:subtitleTextColor

应用于字幕字符串的颜色。

可能是颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

android.support.v7.appcompat:title

android.support.v7.appcompat:titleMargin

在工具栏标题的左侧,开始,右侧和结尾指定额外的空间。 保证金值应该是正值。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:titleMarginBottom

指定工具栏标题底部的额外空间。 如果指定了此属性和titleMargin,则此属性优先。 保证金值应该是正值。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:titleMarginEnd

指定工具栏标题末尾的额外空间。 如果指定了此属性和titleMargin,则此属性优先。 保证金值应该是正值。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:titleMarginStart

在工具栏标题的开始侧指定额外的空间。 如果指定了此属性和titleMargin,则此属性优先。 保证金值应该是正值。

可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:titleMarginTop

指定工具栏标题顶部的额外空间。 如果指定了此属性和titleMargin,则此属性优先。 保证金值应该是正值。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.v7.appcompat:titleTextAppearance

android.support.v7.appcompat:titleTextColor

要应用于标题字符串的颜色。

可能是一个颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

android:gravity

Public constructors

Toolbar

Toolbar (Context context)

Parameters
context Context

Toolbar

Toolbar (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

Toolbar

Toolbar (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

collapseActionView

void collapseActionView ()

折叠当前展开的操作视图。 如果此工具栏没有展开的操作视图,则此方法不起作用。

操作视图可以直接从它所属的 MenuItem扩展,也可以通过用户操作进行扩展。

也可以看看:

dismissPopupMenus

void dismissPopupMenus ()

关闭当前显示的所有弹出菜单,包括溢出或子菜单。

generateLayoutParams

Toolbar.LayoutParams generateLayoutParams (AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

Parameters
attrs AttributeSet: the attributes to build the layout parameters from
Returns
Toolbar.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getContentInsetEnd

int getContentInsetEnd ()

获取此工具栏的结尾内容插图。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Returns
int The ending content inset for this toolbar

也可以看看:

getContentInsetEndWithActions

int getContentInsetEndWithActions ()

获取操作按钮存在时插入的结束内容。

当工具栏中存在其他按钮时,通常会调用不同的内容插入,以及不同的工具栏大小。 较大的值getContentInsetEnd()和此值将在布局期间使用。

相关XML属性:

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

也可以看看:

getContentInsetLeft

int getContentInsetLeft ()

获取此工具栏的左侧内容插图。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Returns
int The left content inset for this toolbar

也可以看看:

getContentInsetRight

int getContentInsetRight ()

获取此工具栏的正确内容插图。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Returns
int The right content inset for this toolbar

也可以看看:

getContentInsetStart

int getContentInsetStart ()

获取此工具栏的起始内容插图。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Returns
int The starting content inset for this toolbar

也可以看看:

getContentInsetStartWithNavigation

int getContentInsetStartWithNavigation ()

获取导航按钮存在时的起始内容插图。

当工具栏中存在其他按钮时,通常会调用不同的内容插入,以及不同的工具栏大小。 较大的值getContentInsetStart()和此值将在布局期间使用。

相关XML属性:

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

也可以看看:

getCurrentContentInsetEnd

int getCurrentContentInsetEnd ()

获取将在当前工具栏配置中的条的结尾侧使用的内容插入。

Returns
int the current content inset end in pixels

也可以看看:

getCurrentContentInsetLeft

int getCurrentContentInsetLeft ()

获取将在当前工具栏配置中的栏左侧使用的内容插入。

Returns
int the current content inset left in pixels

也可以看看:

getCurrentContentInsetRight

int getCurrentContentInsetRight ()

获取将在当前工具栏配置中的条右侧使用的内容插入。

Returns
int the current content inset right in pixels

也可以看看:

getCurrentContentInsetStart

int getCurrentContentInsetStart ()

获取将在当前工具栏配置中的条的起始侧使用的内容插入。

Returns
int the current content inset start in pixels

也可以看看:

getLogo

Drawable getLogo ()

返回当前可绘制的徽标。

Returns
Drawable The current logo drawable

也可以看看:

getLogoDescription

CharSequence getLogoDescription ()

返回工具栏徽标的描述。

Returns
CharSequence A description of the logo

getMenu

Menu getMenu ()

返回工具栏中显示的菜单。

希望填充工具栏菜单的应用程序可以从此处完成。 要使用XML菜单资源,请使用inflateMenu(int)

Returns
Menu The toolbar's Menu

getNavigationContentDescription

CharSequence getNavigationContentDescription ()

检索导航按钮视图的当前配置的内容描述。 这将用于通过屏幕阅读器或工具提示等机制来描述对用户的导航操作。

相关XML属性:

Returns
CharSequence The navigation button's content description

getNavigationIcon

Drawable getNavigationIcon ()

返回用作导航图标的当前绘图。

相关XML属性:

Returns
Drawable The navigation icon drawable

getOverflowIcon

Drawable getOverflowIcon ()

返回用作溢出图标的当前绘图。

Returns
Drawable The overflow icon drawable

getPopupTheme

int getPopupTheme ()

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

也可以看看:

getSubtitle

CharSequence getSubtitle ()

返回此工具栏的副标题。

Returns
CharSequence The current subtitle

getTitle

CharSequence getTitle ()

返回此工具栏的标题。

Returns
CharSequence The current title.

getTitleMarginBottom

int getTitleMarginBottom ()

相关XML属性:

Returns
int the bottom title margin in pixels

也可以看看:

getTitleMarginEnd

int getTitleMarginEnd ()

相关XML属性:

Returns
int the ending title margin in pixels

也可以看看:

getTitleMarginStart

int getTitleMarginStart ()

相关XML属性:

Returns
int the starting title margin in pixels

也可以看看:

getTitleMarginTop

int getTitleMarginTop ()

相关XML属性:

Returns
int the top title margin in pixels

也可以看看:

hasExpandedActionView

boolean hasExpandedActionView ()

检查此工具栏当前是否托管扩展的操作视图。

操作视图可以直接从其所属的MenuItem扩展,也可以通过用户操作进行扩展。 如果工具栏具有展开的操作视图,则可以使用collapseActionView()方法将其折叠。

Returns
boolean true if the Toolbar has an expanded action view

hideOverflowMenu

boolean hideOverflowMenu ()

隐藏相关菜单中的溢出项目。

Returns
boolean true if the menu was able to be hidden, false otherwise

inflateMenu

void inflateMenu (int resId)

将菜单资源充入此工具栏。

将XML菜单资源充入此工具栏。 菜单中的现有项目将不会被修改或删除。

Parameters
resId int: ID of a menu resource to inflate

isOverflowMenuShowing

boolean isOverflowMenuShowing ()

检查当前是否显示溢出菜单。 这可能不会反映正在进行的待处理演出操作。

Returns
boolean true if the overflow menu is currently showing

onHoverEvent

boolean onHoverEvent (MotionEvent ev)

实现此方法来处理悬停事件。

只要指针悬停在视图边界之上或之外,并且该视图当前未被触摸,就会调用此方法。 悬停事件被表示为具有动作指针事件ACTION_HOVER_ENTERACTION_HOVER_MOVE ,或ACTION_HOVER_EXIT

  • The view receives a hover event with action ACTION_HOVER_ENTER when the pointer enters the bounds of the view.
  • The view receives a hover event with action ACTION_HOVER_MOVE when the pointer has already entered the bounds of the view and has moved.
  • The view receives a hover event with action ACTION_HOVER_EXIT when the pointer has exited the bounds of the view or when the pointer is about to go down due to a button click, tap, or similar user action that causes the view to be touched.

该视图应实现此方法以返回true以指示它正在处理悬停事件,例如通过更改其可绘制状态。

如果视图已启用且可点击,则默认实现调用setHovered(boolean)以在收到悬停输入或悬停退出事件时更新视图的悬停状态。 默认实现也发送悬停可访问性事件。

Parameters
ev MotionEvent: The motion event that describes the hover.
Returns
boolean True if the view handled the hover event.

onRtlPropertiesChanged

void onRtlPropertiesChanged (int layoutDirection)

当任何RTL属性(布局方向或文本方向或文本对齐)已被更改时调用。 子类需要重写此方法以处理依赖于已解析布局方向的缓存信息,或通知继承其布局方向的子视图。 默认实现什么都不做。

Parameters
layoutDirection int: the direction of the layout

onTouchEvent

boolean onTouchEvent (MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

如果使用此方法检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
ev MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

setContentInsetEndWithActions

void setContentInsetEndWithActions (int insetEndWithActions)

设置操作按钮出现时使用的起始内容插图。

当工具栏中存在其他按钮时,通常会调用不同的内容插入,以及不同的工具栏大小。 较大的值getContentInsetEnd()和此值将在布局期间使用。

相关XML属性:

Parameters
insetEndWithActions int: the inset to use when a menu has been set in pixels

也可以看看:

setContentInsetStartWithNavigation

void setContentInsetStartWithNavigation (int insetStartWithNavigation)

设置存在导航按钮时使用的起始内容插图。

当工具栏中存在其他按钮时,通常会调用不同的内容插入,以及不同的工具栏大小。 较大的值getContentInsetStart()和此值将在布局期间使用。

相关XML属性:

Parameters
insetStartWithNavigation int: the inset to use when a navigation icon has been set in pixels

也可以看看:

setContentInsetsAbsolute

void setContentInsetsAbsolute (int contentInsetLeft, 
                int contentInsetRight)

设置此工具栏的内容插页。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Parameters
contentInsetLeft int: Content inset for the toolbar's left edge
contentInsetRight int: Content inset for the toolbar's right edge

也可以看看:

setContentInsetsRelative

void setContentInsetsRelative (int contentInsetStart, 
                int contentInsetEnd)

设置此工具栏相对于版面方向的内容插页。

内容嵌入会影响除导航按钮和菜单以外的工具栏内容的有效区域。 插入定义这些组件的最小边距,并可用于沿着着名的网格线有效地对齐工具栏内容。

相关XML属性:

Parameters
contentInsetStart int: Content inset for the toolbar starting edge
contentInsetEnd int: Content inset for the toolbar ending edge

也可以看看:

setLogo

void setLogo (int resId)

从资源ID中设置可绘制的徽标。

这个drawable通常应该代替标题文本。 徽标不能被点击。 使用徽标的应用程序还应使用setLogoDescription(int)提供说明。

Parameters
resId int: ID of a drawable resource

setLogo

void setLogo (Drawable drawable)

设置可绘制的徽标。

这个drawable通常应该代替标题文本。 徽标不能被点击。 使用徽标的应用程序还应使用setLogoDescription(int)提供说明。

Parameters
drawable Drawable: Drawable to use as a logo

setLogoDescription

void setLogoDescription (int resId)

设置工具栏徽标的说明。

此描述将用于UI的可访问性或其他类似描述。

Parameters
resId int: String resource id

setLogoDescription

void setLogoDescription (CharSequence description)

设置工具栏徽标的说明。

此描述将用于UI的可访问性或其他类似描述。

Parameters
description CharSequence: Description to set

setNavigationContentDescription

void setNavigationContentDescription (CharSequence description)

为导航按钮设置内容说明(如果存在)。 内容描述将通过屏幕阅读器或其他辅助功能系统读取,以解释导航按钮的操作。

相关XML属性:

Parameters
description CharSequence: Content description to set, or null to clear the content description

setNavigationContentDescription

void setNavigationContentDescription (int resId)

为导航按钮设置内容说明(如果存在)。 内容描述将通过屏幕阅读器或其他辅助功能系统读取,以解释导航按钮的操作。

相关XML属性:

Parameters
resId int: Resource ID of a content description string to set, or 0 to clear the description

setNavigationIcon

void setNavigationIcon (Drawable icon)

设置用于工具栏导航按钮的图标。

导航按钮出现在工具栏的开头(如果存在)。 设置图标将使导航按钮可见。

如果您使用导航图标,则还应该使用setNavigationContentDescription(int)为其操作设置说明。 这用于可访问性和工具提示。

相关XML属性:

Parameters
icon Drawable: Drawable to set, may be null to clear the icon

setNavigationIcon

void setNavigationIcon (int resId)

设置用于工具栏导航按钮的图标。

导航按钮出现在工具栏的开头(如果存在)。 设置图标将使导航按钮可见。

如果您使用导航图标,则还应使用setNavigationContentDescription(int)为其操作设置说明。 这用于可访问性和工具提示。

相关XML属性:

Parameters
resId int: Resource ID of a drawable to set

setNavigationOnClickListener

void setNavigationOnClickListener (View.OnClickListener listener)

设置一个监听器来响应导航事件。

只要用户单击工具栏开始处的导航按钮,就会调用此侦听器。 必须设置图标才能显示导航按钮。

Parameters
listener View.OnClickListener: Listener to set

也可以看看:

setOnMenuItemClickListener

void setOnMenuItemClickListener (Toolbar.OnMenuItemClickListener listener)

设置一个侦听器来响应菜单项点击事件。

只要用户从工具栏末尾提供的操作按钮或关联的溢出中选择一个菜单项,就会调用此侦听器。

Parameters
listener Toolbar.OnMenuItemClickListener: Listener to set

setOverflowIcon

void setOverflowIcon (Drawable icon)

设置用于溢出按钮的图标。

Parameters
icon Drawable: Drawable to set, may be null to clear the icon

setPopupTheme

void setPopupTheme (int resId)

指定充气弹出菜单时要使用的主题。 默认情况下,使用与工具栏本身相同的主题。

Parameters
resId int: theme used to inflate popup menus

也可以看看:

setSubtitle

void setSubtitle (CharSequence subtitle)

设置此工具栏的副标题。

字幕应该表达关于当前内容的扩展信息。

Parameters
subtitle CharSequence: Subtitle to set

setSubtitle

void setSubtitle (int resId)

设置此工具栏的副标题。

字幕应该表达关于当前内容的扩展信息。

Parameters
resId int: String resource ID

setSubtitleTextAppearance

void setSubtitleTextAppearance (Context context, 
                int resId)

设置指定TextAppearance资源中的文本颜色,大小,样式,提示颜色和高亮颜色。

Parameters
context Context
resId int

setSubtitleTextColor

void setSubtitleTextColor (int color)

设置字幕的文本颜色(如果存在)。

Parameters
color int: The new text color in 0xAARRGGBB format

setTitle

void setTitle (CharSequence title)

设置此工具栏的标题。

标题应该被用作一段内容的锚点。 它应该描述或命名正在查看的内容。

Parameters
title CharSequence: Title to set

setTitle

void setTitle (int resId)

设置此工具栏的标题。

标题应该被用作一段内容的锚点。 它应该描述或命名正在查看的内容。

Parameters
resId int: Resource ID of a string to set as the title

setTitleMargin

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

设置标题边距。

相关XML属性:

Parameters
start int: the starting title margin in pixels
top int: the top title margin in pixels
end int: the ending title margin in pixels
bottom int: the bottom title margin in pixels

也可以看看:

setTitleMarginBottom

void setTitleMarginBottom (int margin)

以像素为单位设置底部标题边距。

相关XML属性:

Parameters
margin int: the bottom title margin in pixels

也可以看看:

setTitleMarginEnd

void setTitleMarginEnd (int margin)

以像素为单位设置结束标题边距。

相关XML属性:

Parameters
margin int: the ending title margin in pixels

也可以看看:

setTitleMarginStart

void setTitleMarginStart (int margin)

以像素为单位设置起始标题边距。

相关XML属性:

Parameters
margin int: the starting title margin in pixels

也可以看看:

setTitleMarginTop

void setTitleMarginTop (int margin)

以像素为单位设置顶部标题边距。

相关XML属性:

Parameters
margin int: the top title margin in pixels

也可以看看:

setTitleTextAppearance

void setTitleTextAppearance (Context context, 
                int resId)

设置指定TextAppearance资源中的文本颜色,大小,样式,提示颜色和高亮颜色。

Parameters
context Context
resId int

setTitleTextColor

void setTitleTextColor (int color)

设置标题的文本颜色(如果存在)。

Parameters
color int: The new text color in 0xAARRGGBB format

showOverflowMenu

boolean showOverflowMenu ()

显示相关菜单中的溢出项目。

Returns
boolean true if the menu was able to be shown, false otherwise

Protected methods

checkLayoutParams

boolean checkLayoutParams (ViewGroup.LayoutParams p)

Parameters
p ViewGroup.LayoutParams
Returns
boolean

generateDefaultLayoutParams

Toolbar.LayoutParams generateDefaultLayoutParams ()

返回一组默认布局参数。 当传递给addView(View)的视图没有设置布局参数时,请求这些参数。 如果返回null,则会从addView引发异常。

Returns
Toolbar.LayoutParams a set of default layout parameters or null

generateLayoutParams

Toolbar.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)

根据提供的布局参数返回一组安全的布局参数。 当一个ViewGroup传递一个View,其布局参数不能通过checkLayoutParams(android.view.ViewGroup.LayoutParams)的测试时,就调用这个方法。 此方法应该返回一组适合此ViewGroup的布局参数,可能是通过从指定的一组布局参数中复制适当的属性。

Parameters
p ViewGroup.LayoutParams: The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.
Returns
Toolbar.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onLayout

void onLayout (boolean changed, 
                int l, 
                int t, 
                int r, 
                int b)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。

Parameters
changed boolean: This is a new size or position for this view
l int: Left position, relative to parent
t int: Top position, relative to parent
r int: Right position, relative to parent
b int: Bottom position, relative to parent

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 不这样做会触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

onRestoreInstanceState

void onRestoreInstanceState (Parcelable state)

吊钩允许视图重新应用以前由onSaveInstanceState()生成的其内部状态的表示。 这个函数永远不会被调用为null状态。

Parameters
state Parcelable: The frozen state that had previously been returned by onSaveInstanceState().

onSaveInstanceState

Parcelable onSaveInstanceState ()

钩子允许视图生成其内部状态的表示,稍后可用于创建具有相同状态的新实例。 此状态应仅包含不持久或以后不能重建的信息。 例如,您永远不会将当前位置存储在屏幕上,因为当视图的新实例放置在其视图层次结构中时会再次计算该位置。

您可能在此处存储的某些示例:文本视图中的当前光标位置(但通常不是文本本身,因为它存储在内容提供程序或其他永久性存储中),即当前在列表视图中选择的项目。

Returns
Parcelable Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save. The default implementation returns null.

Hooray!