使用NavigationView 进行导航栏的设计
来源:互联网 发布:简单冒泡排序算法 编辑:程序博客网 时间:2024/06/08 13:16
Navigation View
抽屉导航是app识别度与内部导航的关键,保持这里设计上的一致性对app的可用性至关重要,尤其是对于第一次使用的用户。 NavigationView 通过提供抽屉导航所需的框架让实现更简单,同时它还能够直接通过菜单资源文件直接生成导航元素。
把NavigationView作为DrawerLayout的内容视图来使用,比如下面的布局:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!-- your content layout -->
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>
你会注意到NavigationView的两个属性:app:headerLayout - 控制头部的布局, app:menu - 导航菜单的资源文件(也可以在运行时配置)。NavigationView处理好了和状态栏的关系,可以确保NavigationView
在API21+设备上正确的和状态栏交互。最简单的抽屉菜单就是几个可点击的菜单集合:
1
2
3
4
5
6
7
8
9
10
11
<group android:checkableBehavior=
"single"
>
<item
android:id=
"@+id/navigation_item_1"
android:checked=
"true"
android:icon=
"@drawable/ic_android"
android:title=
"@string/navigation_item_1"
/>
<item
android:id=
"@+id/navigation_item_2"
android:icon=
"@drawable/ic_android"
android:title=
"@string/navigation_item_2"
/>
</group>
被点击过的item会高亮显示在抽屉菜单中,让用户知道当前是哪个菜单被选中。
你也可以在menu中使用subheader来为菜单分组:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<item
android:id=
"@+id/navigation_subheader"
android:title=
"@string/navigation_subheader"
>
<menu>
<item
android:id=
"@+id/navigation_sub_item_1"
android:icon=
"@drawable/ic_android"
android:title=
"@string/navigation_sub_item_1"
/>
<item
android:id=
"@+id/navigation_sub_item_2"
android:icon=
"@drawable/ic_android"
android:title=
"@string/navigation_sub_item_2"
/>
</menu>
</item>
你可以通过设置一个OnNavigationItemSelectedListener,使用其setNavigationItemSelectedListener()来获得元素被选中的回调事件。它为你提供被点击的 菜单元素 ,让你可以处理选择事件,改变复选框状态,加载新内容,关闭导航菜单,以及其他任何你想做的操作。
1 0
- 使用NavigationView 进行导航栏的设计
- NavigationView的使用
- NavigationView的简单使用
- NavigationView 的使用
- NavigationView的基本使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的简单使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView 的使用
- Navigationview的使用
- NavigationView的使用
- NavigationView使用后的限制
- 使用git pull文件时和本地文件冲突
- Java常用排序算法/程序员必须掌握的8大排序算法
- pip 安装pandas报UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5错
- CAS 4.0 Cluster / Tomcat redis Session manager / Token(TGT)存入Redis集群 / Nginx 负载
- EasyUI之Layout布局
- 使用NavigationView 进行导航栏的设计
- NotImplementedError: stat.st_dev unsupported or native support failed to load
- Android开源:数据库ORM框架GreenDao学习(二)数据库查询篇
- 今天
- openwrt 上cron的使用
- MySQL 获得当前日期时间 函数
- 【Unity3d】碰撞检测
- linux下利用fork()函数创建进程
- Html之 textarea 控件