android 控件 侧滑 navigationview 小技巧
来源:互联网 发布:ping软件带地图 编辑:程序博客网 时间:2024/06/07 00:39
<android.support.design.widget.NavigationView
android:id="@+id/id_nv_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:fitsSystemWindows="true"
app:headerLayout="@layout/header_just_username"
app:menu="@menu/menu_drawer"
/>
和普通的侧拉菜单制作方式一样,首先所有的东西还是都放在一个DrawerLayout中(如果你对DrawerLayout的使用还不熟悉,请参考这篇文章使用DrawerLayout实现侧拉菜单),只不过这次我们把左边滑出菜单的布局用一个NavigationView来代替
上面一部分叫做HeaderLayout,下面的那些点击项都是menu
1.android:layout_gravity="left"属性表示该View是左边的滑出菜单,这个属性的含义不用多说,这是DrawerLayout使用方式中的知识点。
2.app:headerLayout="@layout/header_layout"表示引用一个头布局文件,这个头就是我们在上面看到的那个背景图片,包括背景图片上面的显示用户名的控件等等。
3.app:menu="@menu/main"表示引用一个menu作为下面的点击项
1.在布局文件中添加app:itemIconTint="@color/blue"属性,表示设置图片的颜色全都为蓝色
2.第一种解决方案会让所有的图片以一种颜色来显示,如果我想让图片就是显示他本身的颜色
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setItemIconTintList(null);
还有下面两个常用的API:
1.app:itemBackground="@color/colorAccent"设置每一个item的背景颜色
2.app:itemTextColor=""设置item的背景颜色
如果我想在NavigationView的item之间添加上一条分隔线呢?很简单,只需要在menu中将相应的item放到一个group中,并给该group取一个id即可
处理头部点击事件,我们需要先获得到头部控件,在Java代码中我们可以通过下面的方式获得头部控件,
//获取头布局文件
View headerView = navigationView.getHeaderView(0);
然后通过调用headerView中的findViewById方法来查找到头部的控件,设置点击事件即可。
2.item点击事件
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
//在这里处理item的点击事件
return true;
}
});
android:id="@+id/id_nv_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:fitsSystemWindows="true"
app:headerLayout="@layout/header_just_username"
app:menu="@menu/menu_drawer"
/>
和普通的侧拉菜单制作方式一样,首先所有的东西还是都放在一个DrawerLayout中(如果你对DrawerLayout的使用还不熟悉,请参考这篇文章使用DrawerLayout实现侧拉菜单),只不过这次我们把左边滑出菜单的布局用一个NavigationView来代替
上面一部分叫做HeaderLayout,下面的那些点击项都是menu
1.android:layout_gravity="left"属性表示该View是左边的滑出菜单,这个属性的含义不用多说,这是DrawerLayout使用方式中的知识点。
2.app:headerLayout="@layout/header_layout"表示引用一个头布局文件,这个头就是我们在上面看到的那个背景图片,包括背景图片上面的显示用户名的控件等等。
3.app:menu="@menu/main"表示引用一个menu作为下面的点击项
item设置
默认,图片都变为灰色了1.在布局文件中添加app:itemIconTint="@color/blue"属性,表示设置图片的颜色全都为蓝色
2.第一种解决方案会让所有的图片以一种颜色来显示,如果我想让图片就是显示他本身的颜色
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setItemIconTintList(null);
还有下面两个常用的API:
1.app:itemBackground="@color/colorAccent"设置每一个item的背景颜色
2.app:itemTextColor=""设置item的背景颜色
如果我想在NavigationView的item之间添加上一条分隔线呢?很简单,只需要在menu中将相应的item放到一个group中,并给该group取一个id即可
点击事件
1.头部点击事件处理头部点击事件,我们需要先获得到头部控件,在Java代码中我们可以通过下面的方式获得头部控件,
//获取头布局文件
View headerView = navigationView.getHeaderView(0);
然后通过调用headerView中的findViewById方法来查找到头部的控件,设置点击事件即可。
2.item点击事件
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
//在这里处理item的点击事件
return true;
}
});
0 0
- android 控件 侧滑 navigationview 小技巧
- android 控件 侧滑navigationview
- android 控件 侧滑 DrawerLayout NavigationView
- 【android】NavigationView控件的使用
- NavigationView控件
- NavigationDrawer和NavigationView-Android M新控件
- Android获取NavigationView header中的控件
- android中获取NavigationView中的控件方法
- android 5.0 新控件 NavigationView 和 SnackBar
- android自定义控件style学习小技巧
- Android Design AppBarLayout、NavigationView、FloatingActionButton、CollapsingToolbarLayout等控件的使用
- Android进阶——Material Design新控件之NavigationView
- Android M 新控件 TabLayout 与 NavigationView 实践
- Android自定义控件仿ios的NavigationView(-)
- Android 5.0 MD控件系列(1)——NavigationView
- Android Design控件之NavigationView的学习和使用
- Android侧滑控件DrawableLayout以及NavigationView的使用
- Android 5.0新控件之NavigationView(实现侧滑)
- 【linux】centos oracle11G静默安装过程
- Max-Min Fairness 学习
- <s:submit>注意
- dijstra邻接表+堆优化模板
- oracle 操作表的sql
- android 控件 侧滑 navigationview 小技巧
- jsp的3个编译指令
- linux 下各errno的意义
- 关于Java类加载器(ClassLoader)
- 【Fibonacci 序列+第一类Stirling数+二项式定理】[CodeForces - 717A]Festival Organization
- 自定义IamgeView,实现区域点击事件
- TCP/IP每层对应的协议及功能
- callable(object)
- 自定义控件的流程