底部导航BottomBar
一、效果总览

二、描述
一般用于首页 或功能模块底部
三、构造函数及参数说明
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
data | Array[OmniBottomBarItem] | 导航栏数据 | 是 | 无 |
defaultSelectedIndex | number | 默认选中下标 | 否 | 0 |
textModifier | BarTextModifier | 非选中态下text的样式修改器 | 否 | 见下方 |
textSelectedModifier | BarSelectTextModifier | 选中态下text的样式修改器 | 否 | 见下方 |
badgeTextModifier | BarBadgeTextModifier | badge的样式修改器 | 否 | 见下方 |
iconModifier | BarIconModifier | 非选中态下icon的样式修改器 | 否 | 见下方 |
iconSelectedModifier | BarSelectedIconModifier | 选中态下icon的样式修改器 | 否 | 见下方 |
OmniBottomBarItem
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 | 说明 |
---|---|---|---|---|---|
text | string | 底部导航项文本 | 是 | - | - |
selectedText | string | 选中时导航项文本 | 否 | - | 未设置时使用text |
icon | string | Resource | 未选中状态图标 | 是 | - | |
selectedIcon | string | Resource | 选中状态图标 | 否 | - | 未设置时使用icon |
badgeNo | number | 角标红点数 | 否 | - | - |
maxBadgeNo | number | 角标红点最大数 | 否 | 99 | - |
action | ()=> void | 点击回调 | 否 | - |
BarTextModifier
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
fontSize | number | 文字大小 | 否 | 10 |
fontColor | Color | 文字颜色 | 否 | #999999 |
fontWeight | number | 文字粗细 | 否 | 400 |
BarSelectTextModifier
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
fontSize | number | 选中状态文字大小 | 否 | 10 |
fontColor | Color | 选中状态文字颜色 | 否 | #333333 |
fontWeight | number | 选中状态文字粗细 | 否 | 400 |
BarBadgeTextModifier
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
fontSize | number | 徽标文字大小 | 否 | 12 |
fontColor | Color | 徽标文字颜色 | 否 | #FFFFFF |
backgroundColor | Color | 徽标背景颜色 | 否 | #FF0000 |
borderRadius | number | 徽标圆角大小 | 否 | 7 |
BarIconModifier
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
width | number | 选中图标宽度 | 否 | 25 |
height | number | 选中图标高度 | 否 | 25 |
BarSelectedIconModifier
参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
---|---|---|---|---|
width | number | 选中图标宽度 | 否 | 25 |
height | number | 选中图标高度 | 否 | 25 |
backgroundColor | Color | 选中图标背景色 | 否 | transparent |
四、代码演示
typescript
OmniBottomTabBar({
data: this.barItem,
defaultSelectedIndex: 1,
textModifier: new BarTextModifier().withFontColor(Color.Blue),
textSelectedModifier: new BarSelectTextModifier().withFontColor(Color.Blue),
iconSelectedModifier: new BarSelectedIconModifier().withBackgroundColor(Color.Green),
iconModifier: new BarIconModifier().withHeight(20),
badgeTextModifier: new BarBadgeTextModifier().withBackgroundColor(Color.Blue)
}).margin({ top: 10 })