该 Tabs 组件提供了一种在不同视图之间导航的简单方法,同时为 iOS 和 Android 平台提供了通用的 UI。推荐适合的方案 Tabs 是中级导航。有关底部导航的更多信息和详细信息,请参考《材料设计指南》 (opens new window)。
该 Tabs 组件综述
- 语义:中级导航
- 用法:具有通用功能的无限选项卡
- 过渡:滑动过渡,指示彼此的相对位置
- 手势:滑动手势
- 预载:至少 1 边(由于滑动手势)
# 用法
该 Tabs 组件包含两个子组件:
- 在 TabStrip 其定义并呈现底杆和它的 TabStripItem 部件。
- 多个 TabContentItem 组件,总数应等于选项卡的数量(TabStripItem 组件)。每个都 TabContentItem 充当标签内容的容器。
<Tabs selectedIndex="1">
<!-- The bottom tab UI is created via TabStrip (the containier) and TabStripItem (for each tab)-->
<TabStrip>
<TabStripItem>
<Label text="Home"></Label>
<Image src="font://" class="fas"></Image>
</TabStripItem>
<TabStripItem class="special">
<Label text="Account"></Label>
<Image src="font://" class="fas"></Image>
</TabStripItem>
<TabStripItem class="special">
<Label text="Search"></Label>
<Image src="font://" class="fas"></Image>
</TabStripItem>
</TabStrip>
<!-- The number of TabContentItem components should corespond to the number of TabStripItem components -->
<TabContentItem>
<GridLayout>
<Label text="Home Page" class="h2 text-center"></Label>
</GridLayout>
</TabContentItem>
<TabContentItem>
<GridLayout>
<Label text="Account Page" class="h2 text-center"></Label>
</GridLayout>
</TabContentItem>
<TabContentItem>
<GridLayout>
<Label text="Search Page" class="h2 text-center"></Label>
</GridLayout>
</TabContentItem>
</Tabs>
WARNING
注意:TabStripItem 组件数必须等于 tabContentItem 组件数。
# 造型
TIP
注意: -与 nativescript-theme 自定义 CSS 的集成和支持目前正在开发中,并且正在开发中。
Tabs.bottom-nav {
background-color: orangered;
color: gold;
font-size: 24;
}
TabStripItem.tabstripitem-active {
background-color: teal;
}
TabStripItem.tabstripitem-active:active {
background-color: yellowgreen;
}
TabContentItem.first-tabcontent {
background-color: seashell;
color: olive;
}
TabContentItem.second-tabcontent {
background-color: slategray;
color: aquamarine;
}
TabContentItem.third-tabcontent {
background-color: blueviolet;
color: antiquewhite;
}
Tabs TabStrip {
highlight-color: red;
}
TIP
注:目前,我们可以设置止 backgroundColor,color,fontFamily,fontSize,fontStyle,fontWeight 和 textTransform 样式属性的 Label 和 Image 组件 TabStripItem 内。有关这些属性的用法的更多信息,请参见样式文章。
注意:在 iOS 上,不能单独对 TabStripItems 进行样式化。
# 性质
# 标签属性
名称 | 类型 | 描述 |
---|---|---|
items | Array<TabContentItem> | 获取或设置 BottomNavigation 的项目。 |
selectedIndex | number | 获取或设置 BottomNavigation 的 selectedIndex。 |
tabStrip | TabStrip | 获取或设置 BottomNavigation 的标签栏。 |
tabsPosition | “顶部”,“底部” | 获取或设置选项卡的位置状态。默认值:top |
# TabStrip 属性
名称 | 类型 | 描述 |
---|---|---|
iosIconRenderingMode | “自动”,“总是原始”,“总是模板” | 获取或设置 iOS 上的图标渲染模式。 |
isIconSizeFixed | boolean | 设置为 true 图标时,将遵循特定于平台的设计准则来固定大小。默认值:true。 |
items | Array<TabStripItem> | 获取或设置 TabStrip 的带状项目的数组。 |
highlightColor | 获取或设置所选 TabStripItem 的下划线颜色。 |
# TabStripItem 属性
名称 | 类型 | 描述 |
---|---|---|
title | string | 获取或设置标签栏条目的标题。 |
iconSource | string | 获取或设置标签栏条目的图标源。支持本地图像路径(~),资源图像(res://)和图标字体(font://) |
image | Image | 获取或设置标签栏条目的图像。 |
label | Label | 获取或设置标签条条目的标签。 |
# 大事记
# 标签事件
名称 | 描述 |
---|---|
selectedIndexChanged | selectedIndex 更改属性时发出。 |
loaded | 加载视图时发出。 |
unloaded | 卸载视图时发出。 |
layoutChanged | 当视图的布局边界由于布局处理而改变时发出。 |
# TabStrip 事件
名称 | 描述 |
---|---|
itemTap | TabStripItem 轻按 a 时发出。 |
# TabStripItem 事件
名称 | 描述 |
---|---|
tap | TabStripItem 轻按 a 时发出。 |
# API 参考
名称 | 类型 |
---|---|
标签 (opens new window) | Class |
标签条 (opens new window) | Class |
TabStripItem (opens new window) | Class |
TabContentItem (opens new window) | Class |
# 本机组件
安卓系统 | 的 IOS |
---|---|
框架布局 (opens new window) | UITabViewController (opens new window) |