BottomNavigationView
2018-05-30 本文已影响0人
Android师哥
NightRain.png
一个底部导航栏控件,最多支持有五个快捷导航,还带有一个放大的动画,比较好用的一个控件!
效果
BottomNavigationView效果图.gif布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--底部导航栏-->
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@null"
app:itemIconTint="@color/select_color"
app:itemTextColor="@color/select_color"
app:menu="@menu/bottom_menu" />
<!--分割线-->
<View
android:id="@+id/v_div"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_above="@id/bottom_view"
android:background="#999999" />
<!--Fragment-->
<FrameLayout
android:id="@+id/fl_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/v_div" />
</RelativeLayout>
menu文件
与导航栏的按钮一一对应
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_1"
android:icon="@drawable/daohang_shouye"
android:title="首页" />
<item
android:id="@+id/menu_2"
android:icon="@drawable/daohang_xiaoxi"
android:title="消息" />
<item
android:id="@+id/menu_3"
android:icon="@drawable/video_pause"
android:title="视频" />
<item
android:id="@+id/menu_4"
android:icon="@drawable/daohang_wode"
android:title="我的" />
</menu>
select_color
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#ff0000" android:state_checked="true"/>
<item android:color="#666666" android:state_checked="false"/>
</selector>
自定义属性说明
自定义属性 | 说明 | 参数 |
---|---|---|
menu | 设置导航按钮 | menu资源 |
itemIconTint | 导航按钮图片着色 | color资源 |
itemTextColor | 导航按钮文字颜色 | color资源 |
itemBackground | 导航按钮背景颜色 | color资源 |
常用方法
方法 | 说明 |
---|---|
setOnNavigationItemSelectedListener | 设置点击Item监听 |
注意
- menu中的item最多有五个;
- 如果menu中Item超过3个,需要在找到控件之后调用BottomNavigationViewHelper.initShiftMode(底部导航栏控件);
- 如果想取消item点击时候的背景颜色就把app:itemBackground的值设置为@null;
- setOnNavigationItemSelectedListener的返回值要返回true,不然没有动画效果;