# ohos-navigation-bar
**Repository Path**: chinasoft4_ohos/ohos-navigation-bar
## Basic Information
- **Project Name**: ohos-navigation-bar
- **Description**: 可定制的导航栏,实现导航栏内容自定义显示,可以添加徽章显示,可以显示或隐藏导航栏
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 3
- **Created**: 2021-06-28
- **Last Updated**: 2022-09-22
## Categories & Tags
**Categories**: harmonyos-menu
**Tags**: None
## README
# ohos-navigation-bar
#### 项目介绍
- 项目名称:ohos-navigation-bar
- 所属系列:openharmony的第三方组件适配移植
- 功能:可定制的导航栏,实现导航栏内容自定义显示,可以添加徽章显示,可以显示或隐藏导航栏。
- 项目移植状态:主功能完成
- 调用差异:无
- 开发版本:sdk6,DevEco Studio 2.2 Beta1
- 基线版本:Release 1.0
#### 效果演示
#### 安装教程
1.在项目根目录下的build.gradle文件中,
```
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
```
2.在entry模块的build.gradle文件中,
```
dependencies {
implementation('com.gitee.chinasoft_ohos:ohos-navigation-bar:1.0.0')
......
}
```
在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
#### 使用说明
1、在 XML 文件中添加以下代码
```
```
2、将代码添加到 java 文件中
为每个选项卡创建 FlareTab 类的对象。创建flaretab对象的arraylist。并调用Flarebar 对象的setTabList(ArrayList)方法。
```
FlareBar bottomBar = (FlareBar) findComponentById(ResourceTable.Id_bottomBar);
bottomBar.setBarBackgroundColor(Color.getIntColor("#FFFFFFFF"));
ArrayList tabs = new ArrayList<>();
tabs.add(new Flaretab(getElement(ResourceTable.Media_inboxb), "Inbox", "#FFFFECB3"));
tabs.add(new Flaretab(getElement(ResourceTable.Media_searchb), "Search", "#FF80DEEA"));
tabs.add(new Flaretab(getElement(ResourceTable.Media_phoneb), "Call Log", "#FFB39DDB"));
tabs.add(new Flaretab(getElement(ResourceTable.Media_avatarb), "Profile", "#FFEF9A9A", "4"));
tabs.add(new Flaretab(getElement(ResourceTable.Media_settingsb), "Settings", "#FFB2DFDB"));
bottomBar.setTabList(tabs);
bottomBar.attachTabs(getContext());
```
3、侦听器在选项卡更改时收到通知
```
bottomBar.setTabChangedListener(new TabEventObject.TabChangedListener() {
@Override
public void onTabChanged(DirectionalLayout selectedTab, int selectedIndex, int oldIndex) {
// 页面显示操作
}
});
```
**FlareTab 对象的可用构造函数**
```
Flaretab(Element tabImage, String tabText, String tabColorString)
Flaretab(Element tabImage, String tabText, String tabColorString, String badge)
```
参数说明:
(1)tabImage:显示为标签图标的可绘制文件。
(2)tabText :在选项卡上显示为文本的字符串。
(3)tabColorString : 选择tab时显示此颜色。
(4)badge:徽章显示的字符串
**FlareTab 对象可用方法:**
```
Element getTabImage() // 获取图标
setTabImage(Element tabImage) // 设置图标
getTabText() // 获取选项卡子串
setTabText( String tabText) // 设置选项卡子串
getTabColorString() // 获取选择tab时颜色
setTabColorString(String tabColorString) // 设置选择tab时颜色
getBadge() // 获取徽章显示的字符串
setBadge(String badge) // 设置徽章显示的字符串
isBadgeGiven() // 是否给定徽章
```
**Flarebar 对象可用方法:**
```
setTabList(ArrayList tabs) // 设置Flaretab列表
ArrayList getTabList() // 获取Flaretab列表
setSelectedIndex(int selectedIndex) // 设置选中的选项卡
getSelectedIndex() // 获取选中的选项卡index
attachTabs(Context ctx) // 附加显示选项卡
removeBadge(int tabIndex) // 删除选项卡中徽章
selectTab(int index) // 设置选中的选项卡
setTabChangedListener(TabEventObject.TabChangedListener tabChangedListener) // 设置选项卡监听
setBarBackgroundColor(int color) // 设置bar背景色
getBarBackgroundColor() // 获取bar背景色
hideBar() // 隐藏bar
showBar() // 显示bar
isBarVisible() // bar是否显示
```
#### 测试信息
CodeCheck代码测试无异常
CloudTest代码测试无异常
病毒安全检测通过
当前版本demo功能与原组件基本无差异
#### 版本迭代
- 1.0.0