2.NavigationView
是侧滑导航栏,虽然在之前的版本中已经有侧滑栏了,但是在5.0后给出了使用更加便捷,并自带特效的NavigationView作为导航栏的标准。
使用方法:
首先在布局文件中使用DrawerLayout作为根布局:
是侧滑导航栏,虽然在之前的版本中已经有侧滑栏了,但是在5.0后给出了使用更加便捷,并自带特效的NavigationView作为导航栏的标准。
使用方法:
首先在布局文件中使用DrawerLayout作为根布局:
在DrawerLayout 中添加NavigationView
layout_gravity 属性可以控制导航栏是从左边还是右边滑出
其中headerLayout 属性需要给入一个作文导航头(header)的布局
menu属性需要给出一个菜单menu配置文件在res/menu文件夹下添加: menu_nav.xml
<android.support.v4.widget.DrawerLayout
<!--左边的侧滑菜单设置android:layout_gravity="left"才会显示在左边 -->
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="left"
app:headerLayout="@layout/navigation_header"
app:menu="@menu/menu_nav"/>
</android.support.v4.widget.DrawerLayout>
如果菜单长度过长的话NavigationView是可以滚动的,而且默认带有滚动条。
虽然NavigationView有去掉滚动条的方法但是尝试了各种方法发现并没有什么乱用,于是查看源码发现,并不是NavigationView的滚动产生的滚动条,而是NavigationView内封装了可滚动的View,这大概是一个bug。
用下面的方式实测可以取消滚动条:
NavigationView navi = (NavigationView) findViewById(R.id.navi);
navi.getChildAt(0).setVerticalScrollBarEnabled(false);