智能客服
你问我答,随时在线为你解决问题
Class Info |
|---|
public class HwBottomNavigationView extends LinearLayout 该类是华为底部页签导航栏控件,内部包含2~5子项,用户可通过点击子项,快捷地访问应用的不同模块。 |
Qualifier and Type | Class Name and Description |
|---|---|
public interface | BottomNavListener 切换不同子项的回调接口,提供三种回调方法,被选中、去选中或重新选中;可在其中切换不同模块页面。 |
Qualifier and Type | Attributes Name and Description |
|---|---|
reference|color | hwIconDefaultColor 定义未选中子项,图标(可着色类图标)颜色。 |
reference|color | hwIconActiveColor 定义选中子项,图标(可着色类图标)和文本颜色。 |
reference|color | hwMessageBgColor 定义子项新消息圆点颜色。 |
reference | hwBottomNavMenu 通过菜单方式配置各子项图标和文本。 |
reference | hwBottomNavDivider 引用底部页签顶部分割线资源,当底部页签和内容区域相同背景时,可以配置分割线以区分。 |
boolean | hwColumnEnabled 是否开启栅格化布局。 |
reference|color | hwTitleDefaultColor 定义未选中子项,文本颜色。 |
reference|color | hwTitleActiveColor 定义选中子项,文本颜色。 |
Style Name | Style Description |
|---|---|
Widget.Emui.HwBottomNavigationView | 底部页签默认风格。 |
Widget.Emui.HwBottomNavigationView.Light | 底部页签浅色风格。 |
Constructor Name |
|---|
public HwBottomNavigationView(Context context) 通过代码实例化HwBottomNavigationView对象。 |
public HwBottomNavigationView(Context context, AttributeSet attrs) 通过XML实例化HwBottomNavigationView对象。 |
public HwBottomNavigationView(Context context, AttributeSet attrs, int defStyleAttr) 通过XML实例化HwBottomNavigationView对象,并应用主题中定义的样式。 |
Qualifier and Type | Method Name and Description |
|---|---|
static HwBottomNavigationView | instantiate(Context context) 实例化HwBottomNavigationView多态对象。 |
boolean | addMenu(CharSequence title, Drawable iconRes) 动态添加子项。 |
boolean | addMenu(int titleRes, Drawable iconRes) 动态添加子项。 |
void | configureColumn(int width, int height, float density) 配置栅格化显示区域。 |
boolean | 判断是否模糊可用。 |
boolean | 判断是否栅格化布局可用。 |
boolean | isHasMessage(int index) 判断指定子项是否有圆点新消息。 |
void | notifyDotMessage(int index, boolean isHasMessage) 通知或取消指定子项圆点新消息。 |
void | notifyScrollToTop(View scollView) 通知内容区域可滚动类控件回滚到顶部,支持的控件有:ListView、ExpandableListView、ScrollView和HwRecyclerView。 |
void | 移除所有底部页签子项。 |
void | replaceMenuItem(CharSequence title, Drawable iconRes, int index, boolean isTint) 替换指定子项的图标和文本。 |
void | replaceMenuItem(int titleRes, Drawable iconRes, int index, boolean isTint) 替换指定子项的图标和文本。 |
void | replaceMenuItems(CharSequence[] titleSet, Drawable[] iconSet, boolean isTint) 替换所有子项的图标和文本。 |
void | replaceMenuItems(int[] titleResSet, Drawable[] iconSet, boolean isTint) 替换所有子项的图标和文本。 |
void | replaceSingleImage(Drawable singleIcon, int index, boolean isExtend) 替换指定子项为一张单图,不包含文本。单图有两种规格,一种在底部页签布局内,一种可超出底部页签背景高度。 |
void | setActiveColor(int color) 设置选中子项图标颜色。 |
void | setBlurEnable(boolean isBlurEnable) 设置是否开启背景模糊功能。 |
void | setBottomNavListener(BottomNavListener listener) 设置子项选中、去选中和重复选中的回调接口。 |
void | setColumnEnabled(boolean isEnabled) 设置是否开启栅格化布局。 |
void | setDefaultColor(int color) 设置未选中子项图标颜色。 |
void | setItemChecked(int index) 设置选中指定子项。 |
void | setMessageBgColor(int color) 设置新消息圆点颜色。 |
void | setPortLayout(boolean isForcePort) 设置图标和文本是否强制为上下布局。 |
void | setTitleActiveColor(int color) 设置选中子项文本颜色。 |
void | setTitleDefaultColor(int color) 设置未选中子项文本颜色。 |
Methods Inherited from Class android.view.View |
|---|
draw, onWindowVisibilityChanged, onApplyWindowInsets, setPadding, dispatchDraw, onAttachedToWindow, onConfigurationChanged, onLayout, onMeasure |
Method |
|---|
void onBottomNavItemReselected(MenuItem item, int index) 子项重新选中时回调。 |
Parameters
Name | Description |
|---|---|
item | 重新选中子项所包含的图标和文本信息。 |
index | 底部页签子项索引,按照添加顺序,从0开始。 |
Method |
|---|
void onBottomNavItemSelected(MenuItem item, int index) 子项选中时回调。 |
Parameters
Name | Description |
|---|---|
item | 选中子项所包含的图标和文本信息。 |
index | 底部页签子项索引,按照添加顺序,从0开始。 |
Method |
|---|
void onBottomNavItemUnselected(MenuItem item, int index) 子项去除选中时回调。 |
Parameters
Name | Description |
|---|---|
item | 去除选中子项所包含的图标和文本信息。 |
index | 底部页签子项索引,按照添加顺序,从0开始。 |
Constructor |
|---|
public HwBottomNavigationView(Context context) 通过代码实例化HwBottomNavigationView对象。 |
Parameters
Name | Description |
|---|---|
context | 控件的上下文,通过它可以访问当前主题、资源等。 |
Constructor |
|---|
public HwBottomNavigationView(Context context, AttributeSet attrs) 通过XML实例化HwBottomNavigationView对象。 |
Parameters
Name | Description |
|---|---|
context | 控件的上下文,通过它可以访问当前主题、资源等。 |
attrs | XML中配置的控件属性集合。 |
Constructor |
|---|
public HwBottomNavigationView(Context context, AttributeSet attrs, int defStyleAttr) 通过XML实例化HwBottomNavigationView对象,并应用主题中定义的样式。 |
Parameters
Name | Description |
|---|---|
context | 控件的上下文,通过它可以访问当前主题、资源等。 |
attrs | XML中配置的控件属性集合。 |
defStyleAttr | 当前主题中配置的控件默认样式,为0表示不应用默认样式。 |
Method |
|---|
public static HwBottomNavigationView instantiate(Context context) 实例化HwBottomNavigationView多态对象。 |
Parameters
Name | Description |
|---|---|
context | 控件的上下文,通过它可以访问当前主题、资源等。 |
Returns
Type | Description |
|---|---|
HwBottomNavigationView | 实例化多态对象,若未适配多态,可能返回为空。 |
Method |
|---|
public boolean addMenu(CharSequence title, Drawable iconRes) 动态添加子项,文本和图标不能为空。 |
Parameters
Name | Description |
|---|---|
title | 需添加子项的文本。 |
iconRes | 需添加子项的图标。 |
Returns
Type | Description |
|---|---|
boolean | 推荐子项为2~5个;超过5个时,返回false。 |
Method |
|---|
public boolean addMenu(int titleRes, Drawable iconRes) 动态添加子项,文本和图标不能为空。 |
Parameters
Name | Description |
|---|---|
titleRes | 需添加子项的文本资源引用。 |
iconRes | 需添加子项的图标。 |
Returns
Type | Description |
|---|---|
boolean | 推荐子项为2~5个;超过5个时,返回false。 |
Method |
|---|
public void configureColumn(int width, int height, float density) 配置栅格化显示区域。 |
Parameters
Name | Description |
|---|---|
width | 指定栅格化布局宽。 |
height | 指定栅格化布局高。 |
density | 指定栅格化布局宽高单位的像素密度。 |
Method |
|---|
public boolean isBlurEnable() 判断背景模糊功能是否可用,模糊功能限定在EMUI P及之后版本。 |
Returns
Type | Description |
|---|---|
boolean | true表示已开启背景模糊,否则false。 |
Method |
|---|
public boolean isColumnEnabled() 判断是否栅格化布局可用。 |
Returns
Name | Description |
|---|---|
boolean | true表示已开启栅格化布局,否则false。 |
Method |
|---|
public boolean isHasMessage(int index) 判断指定子项是否有圆点新消息。 |
Parameters
Name | Description |
|---|---|
index | 指定子项索引,按照添加时顺序,从0开始。 |
Returns
Type | Description |
|---|---|
boolean | true表示指定子项包含圆点新消息,否则false。 |
Method |
|---|
public void notifyDotMessage(int index, boolean isHasMessage) 通知或取消指定子项的圆点新消息。 |
Parameters
Name | Description |
|---|---|
index | 指定子项索引,按照添加时顺序,从0开始。 |
isHasMessage | true表示显示圆点消息,false表示取消显示。 |
Method |
|---|
public void notifyScrollToTop(View scollView) 通知内容区域可滚动类控件回滚到顶部,支持的控件有:ListView、ExpandableListView、ScrollView(此三类控件回滚功能限定在EMUI Q及之后版本)和HwRecyclerView。 |
Parameters
Name | Description |
|---|---|
scollView | 内容区域需要回滚顶部的可滚动类控件,支持的控件有:ListView、ExpandableListView、ScrollView和HwRecyclerView。 |
Method |
|---|
public void removeMenuItems() 移除所有底部页签子项。 |
Method |
|---|
public void replaceMenuItem(CharSequence title, Drawable iconRes, int index, boolean isTint) 替换指定子项的图标和文本。 |
Parameters
Name | Description |
|---|---|
title | 需替换子项的文本。 |
iconRes | 需替换子项的图标。 |
index | 指定子索引,按照添加时顺序,从0开始。 |
isTint | true表示图标需要着色处理,否则false。 |
Method |
|---|
public void replaceMenuItem(int titleRes, Drawable iconRes, int index, boolean isTint) 替换指定子项的图标和文本。 |
Parameters
Name | Description |
|---|---|
titleRes | 需替换子项的文本资源引用。 |
iconRes | 需替换子项的图标。 |
index | 指定子项索引,按照添加时顺序,从0开始。 |
isTint | true表示图标需要着色处理,否则false。 |
Method |
|---|
public void replaceMenuItems(CharSequence[] titleSet, Drawable[] iconSet, boolean isTint) 替换所有子项的图标和文本。 |
Parameters
Name | Description |
|---|---|
titleSet | 替换所有子项的文本数组,需要和当前子项数保持一致。 |
iconSet | 替换所有子项的图标数组,需要和当前子项数保持一致。 |
isTint | true表示图标需要着色处理,否则false。 |
Method |
|---|
public void replaceMenuItems(int[] titleResSet, Drawable[] iconSet, boolean isTint) 替换所有子项的图标和文本。 |
Parameters
Name | Description |
|---|---|
titleResSet | 替换所有子项的文本资源引用数组,需要和当前子项数保持一致。 |
iconSet | 替换所有子项的图标数组,需要和当前子项数保持一致。 |
isTint | true表示图标需要着色处理,否则false。 |
Method |
|---|
public void replaceSingleImage(Drawable singleIcon, int index, boolean isExtend) 替换指定子项为一张单图,不包含文本。单图有两种规格,一种在底部页签布局内,一种可超出底部页签背景高度。 |
Parameters
Name | Description |
|---|---|
singleIcon | 替换指定子项所应用的单图图标。 |
index | 指定子项索引,按照添加时顺序,从0开始。 |
isExtend | true表示单图可超出底部页签背景,否则在布局内。 |
Method |
|---|
public void setActiveColor(int color) 设置选中子项图标颜色。 |
Parameters
Name | Description |
|---|---|
color | 设置选中子项图标的颜色。 |
Method |
|---|
public void setBlurEnable(boolean isBlurEnable) 设置是否开启背景模糊功能,模糊功能限定在EMUI P及之后版本。 |
Parameters
Name | Description |
|---|---|
isBlurEnable | true表示开启背景模糊功能,否则false。 |
Method |
|---|
public void setBottomNavListener(BottomNavListener listener) 设置子项选中、去选中和重复选中的回调。 |
Parameters
Name | Description |
|---|---|
listener | 切换不同子项的回调对象。 |
Method |
|---|
public void setColumnEnabled(boolean isEnabled) 设置是否开启栅格化布局。 |
Parameters
Name | Description |
|---|---|
isEnabled | true表示开启栅格化布局,否则false。 |
Method |
|---|
public void setDefaultColor(int color) 设置未选中子项图标颜色。 |
Parameters
Name | Description |
|---|---|
color | 设置未选中子项图标的颜色。 |
Method |
|---|
public void setItemChecked(int index) 设置选中指定子项。 |
Parameters
Name | Description |
|---|---|
index | 指定子项索引,按照添加时顺序,从0开始。 |
Method |
|---|
public void setMessageBgColor(int color) 设置新消息圆点颜色。 |
Parameters
Name | Description |
|---|---|
color | 圆点新消息显示色值。 |
Method |
|---|
public void setPortLayout(boolean isForcePort) 设置图标和文本是否强制为上下布局。 |
Parameters
Name | Description |
|---|---|
isForcePort | true表示图标文本强制上下布局,false表示可跟随配置动态变化。 |
Method |
|---|
public void setTitleActiveColor(int color) 设置选中子项文本颜色。 |
Parameters
Name | Description |
|---|---|
color | 设置选中子项文本的颜色。 |
Method |
|---|
public void setTitleDefaultColor(int color) 设置未选中子项文本颜色。 |
Parameters
Name | Description |
|---|---|
color | 设置未选中子项文本的颜色。 |