# ToolBar 工具æ 用于展示针对当å‰ç•Œé¢å†…容的æ“作选项,在界é¢åº•éƒ¨æ˜¾ç¤ºã€‚底部最多显示5个入å£ï¼Œè¶…过则收纳入“更多â€å项ä¸ï¼Œåœ¨æœ€å³ä¾§æ˜¾ç¤ºã€‚ > **说明:** > > 该组件从API Version 10开始支æŒã€‚åŽç»ç‰ˆæœ¬å¦‚æœ‰æ–°å¢žå†…å®¹ï¼Œåˆ™é‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°è¯¥å†…容的起始版本。 ## å¯¼å…¥æ¨¡å— ```ts import { SymbolGlyphModifier, DividerModifier, ToolBar, ToolBarOptions, ToolBarModifier, ItemState, LengthMetrics } from '@kit.ArkUI'; ``` ## å组件 æ— ## 属性 支æŒ[通用属性](ts-universal-attributes-size.md) ## ToolBar Toolbar({toolBarList: ToolBarOptions, activateIndex?: number, controller: TabsController, dividerModifier: DividerModifier, toolBarModifier: ToolBarModifier}) **装饰器类型:**\@Component **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 类型 | å¿…å¡« | 装饰器类型 | 说明 | | ----------------------------- | ------------------------------------------------------------ | ---- | ----------- | ------------------------------------------------------------ | | toolBarList | [ToolBarOptions](#toolbaroptions) | 是 | @ObjectLink | 工具æ 列表。 | | activateIndex | number | å¦ | @Prop | 激活æ€çš„å项。<br/>默认值:-1。 | | controller | [TabsController](ts-container-tabs.md#tabscontroller) | 是 | - | 工具æ 控制器。 | | dividerModifier<sup>13+</sup> | [DividerModifier](ts-universal-attributes-attribute-modifier.md) | å¦ | @Prop | 工具æ 头部分割线属性,å¯è®¾ç½®åˆ†å‰²çº¿é«˜åº¦ã€é¢œè‰²ç‰ã€‚<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | toolBarModifier<sup>13+</sup> | [ToolBarModifier](#toolbarmodifier13) | å¦ | @Prop | 工具æ 属性,å¯è®¾ç½®å·¥å…·æ 高度ã€èƒŒæ™¯è‰²ã€å†…è¾¹è·ï¼ˆä»…在工具æ å项数é‡å°äºŽ5时生效)ã€æ˜¯å¦æ˜¾ç¤ºæŒ‰åŽ‹æ€ã€‚<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | ## ToolBarOptions 继承于 Array<[ToolBarOption](#toolbaroption)>。 **装饰器类型:**\@Observed **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## ToolBarOption **装饰器类型:**\@Observed **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 类型 | å¿…å¡« | 说明 | |------------------------------------|-----------------------------------------------------------| -------- |--------------------------------------------------------------------------------------------------------------| | content | [ResourceStr](ts-types.md#resourcestr) | 是 | 工具æ å项的文本。<br/>**原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | action | () => void | å¦ | 工具æ å项点击事件。<br/>**原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | icon | [Resource](ts-types.md#resource) | å¦ | 工具æ åé¡¹çš„å›¾æ ‡ã€‚<br/>toolBarSymbolOptionsæœ‰ä¼ å…¥å‚数时,iconä¸ç”Ÿæ•ˆã€‚<br/>**原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | state | [ItemState](#itemstate) | å¦ | 工具æ å项的状æ€ã€‚<br/>默认为ENABLE。<br/>**原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | iconColor<sup>13+</sup> | [ResourceColor](ts-types.md#resourcecolor) | å¦ | 工具æ åé¡¹çš„å›¾æ ‡å¡«å……é¢œè‰²ã€‚<br/>默认值为$r('sys.color.icon_primary')。<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | activatedIconColor<sup>13+</sup> | [ResourceColor](ts-types.md#resourcecolor) | å¦ | 工具æ å项激活æ€çš„å›¾æ ‡å¡«å……é¢œè‰²ã€‚<br/>默认值为$r('sys.color.icon_emphasize')。<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | textColor<sup>13+</sup> | [ResourceColor](ts-types.md#resourcecolor) | å¦ | 工具æ å项的文本颜色。<br/>默认值为$r('sys.color.font_primary')。<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | activatedTextColor<sup>13+</sup> | [ResourceColor](ts-types.md#resourcecolor) | å¦ | 工具æ å项激活æ€çš„文本颜色。<br/>默认值为$r('sys.color.font_emphasize')。<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | | toolBarSymbolOptions<sup>13+</sup> | [ToolBarSymbolGlyphOptions](#toolbarsymbolglyphoptions13) | å¦ | 工具æ åé¡¹çš„å›¾æ ‡å±žæ€§ï¼Œsymbol类型。<br/>**原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ | ## ToolBarModifier<sup>13+</sup> ToolBarModifieræ供设置工具æ 高度(height)ã€èƒŒæ™¯è‰²(backgroundColor)ã€å·¦å³å†…è¾¹è·ï¼ˆpadding,仅在itemå°äºŽ5个时生效)ã€æ˜¯å¦æ˜¾ç¤ºæŒ‰åŽ‹æ€ï¼ˆstateEffect)的方法。 **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ ### backgroundColor backgroundColor(backgroundColor: ResourceColor): ToolBarModifier 自定义绘制工具æ 背景色的接å£ï¼Œè‹¥é‡è½½è¯¥æ–¹æ³•åˆ™å¯è¿›è¡Œå·¥å…·æ 背景色的自定义绘制。 **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- | ------------------------------------------------------ | ---- |------------------------------------------------------------------| | backgroundColor | [ResourceColor](ts-types.md#resourcecolor) | 是 | 工具æ 背景色。<br/>默认背景色为$r('sys.color.ohos_id_color_toolbar_bg')。 | ### padding padding(padding: LengthMetrics): ToolBarModifier 自定义绘制工具æ å·¦å³å†…è¾¹è·çš„接å£ï¼Œè‹¥é‡è½½è¯¥æ–¹æ³•åˆ™å¯è¿›è¡Œå·¥å…·æ å·¦å³å†…è¾¹è·çš„自定义绘制。 **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- |--------| ---- |-------------------------------------------------------------------------------------| | padding | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)<sup>12+</sup> | 是 | 工具æ å·¦å³å†…è¾¹è·ï¼Œä»…在itemå°äºŽ5个时生效。<br/>工具æ 默认在itemå°äºŽ5个时padding为24vp,大于ç‰äºŽ5个时为0。 | ### height height(height: LengthMetrics): ToolBarModifier 自定义绘制工具æ 高度的接å£ï¼Œè‹¥é‡è½½è¯¥æ–¹æ³•åˆ™å¯è¿›è¡Œå·¥å…·æ 高度的自定义绘制,æ¤é«˜åº¦ä¸åŒ…å«åˆ†å‰²çº¿é«˜åº¦ã€‚ **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- |---------------------------------| ---- |------------------------------------| | height | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12)<sup>12+</sup> | 是 | 工具æ 高度。<br/>工具æ 高度默认为56vp(ä¸åŒ…å«åˆ†å‰²çº¿ï¼‰ã€‚ | ### stateEffect stateEffect(stateEffect: boolean): ToolBarModifier 设置是å¦æ˜¾ç¤ºæŒ‰åŽ‹æ€æ•ˆæžœçš„接å£ã€‚ **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full **å‚数:** | å‚æ•°å | 类型 | å¿…å¡« | 说明 | | ------- |--------------------------------| ---- |----------------------------------------------------------| | stateEffect | boolean | 是 | 工具æ 是å¦æ˜¾ç¤ºæŒ‰åŽ‹æ€æ•ˆæžœã€‚<br/>true为显示按压æ€æ•ˆæžœï¼Œfalse为移除按压æ€æ•ˆæžœï¼Œé»˜è®¤ä¸ºtrue。 | ## ItemState **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 值 | 说明 | | -------- | -------- | -------- | | ENABLE | 1 | 工具æ å项为æ£å¸¸å¯ç‚¹å‡»çŠ¶æ€ã€‚ | | DISABLE | 2 | 工具æ å项为ä¸å¯ç‚¹å‡»çŠ¶æ€ã€‚ | | ACTIVATE | 3 | 工具æ å项为激活状æ€ï¼Œå¯ç‚¹å‡»ã€‚ | ## ToolBarSymbolGlyphOptions<sup>13+</sup> ToolBarSymbolGlyphOptionså®šä¹‰å›¾æ ‡çš„å±žæ€§ã€‚ **原å化æœåŠ¡API:** 从API version 13开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 类型 | å¿…å¡« | 说明 | | ------ | ---------- | ---- |------------------------------------------------------------------------------------------| | normal | [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | å¦ | 工具æ symbolå›¾æ ‡æ™®é€šæ€æ ·å¼ã€‚<br/>默认值:fontColor:$r('sys.color.icon_primary'),fontSize:24vp。 | | activated| [SymbolGlyphModifier](ts-universal-attributes-attribute-modifier.md) | å¦ | 工具æ symbolå›¾æ ‡æ¿€æ´»æ€æ ·å¼ã€‚<br/>默认值:fontColor:$r('sys.color.icon_emphasize'),fontSize:24vp。 | ## 事件 支æŒ[通用事件](ts-universal-events-click.md) ## 示例 ### 示例1(工具æ ä¸åŒçŠ¶æ€çš„默认效果) 该示例展示了工具æ å项state属性分别设置ENABLEã€DISABLEã€ACTIVATE状æ€çš„ä¸åŒæ˜¾ç¤ºæ•ˆæžœã€‚ ```ts import { ToolBar, ToolBarOptions, ItemState } from '@kit.ArkUI'; @Entry @Component struct Index { @State toolbarList: ToolBarOptions = new ToolBarOptions(); aboutToAppear() { this.toolbarList.push({ content: 'å‰ªè´´æˆ‘æ˜¯è¶…è¶…è¶…è¶…è¶…è¶…è¶…è¶…è¶…é•¿æ ·å¼', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, }) this.toolbarList.push({ content: 'æ‹·è´', icon: $r('sys.media.ohos_ic_public_copy'), action: () => { }, state: ItemState.DISABLE }) this.toolbarList.push({ content: '粘贴', icon: $r('sys.media.ohos_ic_public_paste'), action: () => { }, state: ItemState.ACTIVATE }) this.toolbarList.push({ content: '全选', icon: $r('sys.media.ohos_ic_public_select_all'), action: () => { }, }) this.toolbarList.push({ content: '分享', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, }) this.toolbarList.push({ content: '分享', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, }) } build() { Row() { Stack() { Column() { ToolBar({ activateIndex: 2, toolBarList: this.toolbarList, }) } } .align(Alignment.Bottom) .width('100%') .height('100%') } } } ```  ### 示例2(设置工具æ è‡ªå®šä¹‰æ ·å¼ï¼‰ 该示例通过设置属性ToolBarModifier自定义工具æ 高度ã€èƒŒæ™¯è‰²ã€æŒ‰åŽ‹æ•ˆæžœç‰æ ·å¼ã€‚ ```ts import { SymbolGlyphModifier, DividerModifier, ToolBar, ToolBarOptions, ToolBarModifier, ItemState, LengthMetrics, } from '@kit.ArkUI'; @Entry @Component struct Index { @State toolbarList: ToolBarOptions = new ToolBarOptions(); // 自定义工具æ æ ·å¼ private toolBarModifier: ToolBarModifier = new ToolBarModifier().height(LengthMetrics.vp(52)).backgroundColor(Color.Transparent).stateEffect(false); @State dividerModifier: DividerModifier = new DividerModifier().height(0); aboutToAppear() { // æ·»åŠ å·¥å…·æ å项 this.toolbarList.push({ content: 'Long long long long long long long long text', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, state: ItemState.ACTIVATE, toolBarSymbolOptions: { normal: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontColor([Color.Green]), // 普通æ€symbolå›¾æ ‡ activated: new SymbolGlyphModifier($r('sys.symbol.ohos_star')).fontColor([Color.Red]), // 激活æ€symbolå›¾æ ‡ }, activatedTextColor: $r('sys.color.font_primary'), }) this.toolbarList.push({ content: 'Copy', icon: $r('sys.media.ohos_ic_public_copy'), action: () => { }, state: ItemState.DISABLE, iconColor: '#ff18cb53', activatedIconColor: '#ffec5d5d', // 激活æ€icon颜色 activatedTextColor: '#ffec5d5d', // 激活æ€æ–‡æœ¬é¢œè‰² }) this.toolbarList.push({ content: 'Paste', icon: $r('sys.media.ohos_ic_public_paste'), action: () => { }, state: ItemState.ACTIVATE, textColor: '#ff18cb53', }) this.toolbarList.push({ content: 'All', icon: $r('sys.media.ohos_ic_public_select_all'), action: () => { }, state: ItemState.ACTIVATE, }) this.toolbarList.push({ content: '分享', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, }) this.toolbarList.push({ content: '分享', icon: $r('sys.media.ohos_ic_public_share'), action: () => { }, }) } build() { Row() { Stack() { Column() { ToolBar({ toolBarModifier: this.toolBarModifier, dividerModifier: this.dividerModifier, activateIndex: 0, toolBarList: this.toolbarList, }) .height(52) } } .align(Alignment.Bottom) .width('100%') .height('100%') } } } ``` 