安卓NavigationView使用方法

2023-12-20 06:10

本文主要是介绍安卓NavigationView使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

导入依赖

介绍NavigationView

布局文件、标签属性


导入依赖

使用Design下的NavigationView前导入依赖步骤

在这个页面中直接找到design这个依赖,点击后再点击这两个窗口上的OK按钮,等待编译完成就完成导入了!

(可能版本不一样,导入即可)

 

13.1.5 介绍NavigationView

Google在5.0之后推出的NavitationView,所有的布局控件放在DrawerLayout中来使用,NavigationView的作用就像这样,实现侧拉效果。和DrawerLayout效果几分差异,QQ从左至右从边滑动的侧拉效果。上半部分图片背景,圆形头像,下面每一个都是导航菜单现在就来实现一下它(虽然是Iphone图,但是没关系了,就是这个道理)。


布局文件、标签属性

敲出最简单的布局,实现最简单的效果

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayoutandroid:background="#4d7aed"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:gravity="center"android:textSize="18sp"android:text="这里是一个主页面"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout><android.support.design.widget.NavigationViewandroid:layout_gravity="left"android:background="#ffffff"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>

将所有布局控件放下DrawerLayout 中,NavigationView加上属性android:layout_gravity="left"实现左侧滑!


如果加一个头布局文件,姐可以侧拉出这样的效果布局代码如下

主布局文件activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#4d7aed"><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="这里是一个主页面"android:textSize="18sp" /></LinearLayout><android.support.design.widget.NavigationViewapp:headerLayout="@layout/layout"android:layout_width="450dp"android:layout_height="match_parent"android:layout_gravity="start"android:background="#ffffff"></android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>

 

头布局文件layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="260dp"android:orientation="vertical"><ImageViewandroid:layout_width="match_parent"android:layout_height="230dp"android:background="@mipmap/kb" /><TextViewandroid:layout_width="match_parent"android:layout_height="30dp"android:background="#63a6e9"android:gravity="center"android:text="《魁拔》"android:textColor="#fff"android:textSize="18sp" /></LinearLayout>

之后加上menu就可以实现这样的效果了(虽然丑了,但是还是可以实现,要求美观就细扣)

创建的menu应该在这里

menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"><group android:checkableBehavior="single"><itemandroid:id="@+id/item1"android:title="功能列表1"></item><itemandroid:id="@+id/item2"android:title="功能列表2"></item><itemandroid:id="@+id/item3"android:title="功能列表3"></item><itemandroid:id="@+id/item4"android:title="功能列表4"></item><itemandroid:id="@+id/item5"android:title="功能列表5"></item></group>
</menu>

还可以在每个item加上  android:icon=""  ,为这个item设置上图标

 

布局文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#4d7aed"><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="这里是一个主页面"android:textSize="18sp" /></LinearLayout><android.support.design.widget.NavigationViewapp:menu="@menu/menu"app:headerLayout="@layout/layout"android:layout_width="450dp"android:layout_height="match_parent"android:layout_gravity="start"android:background="#ffffff"></android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>

头布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="260dp"android:orientation="vertical"><ImageViewandroid:layout_width="match_parent"android:layout_height="230dp"android:background="@mipmap/kb" /><TextViewandroid:layout_width="match_parent"android:layout_height="30dp"android:background="#63a6e9"android:gravity="center"android:text="《魁拔》"android:textColor="#fff"android:textSize="18sp" /></LinearLayout>

 


NavitationView常用属性

item加入点击事件

当布局文件中app:menu="@menu/item_menu"加入后,要为对应的item加上点击事件,这时候用到的是setNavigationItemSelectedListener

使用方法:

实例化NavigationView后,之后直接调用这个方法,就像如下代码

实例化的NavigationView控件.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {@Overridepublic boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {switch (menuItem.getItemId()) {case R.id.title1:Toast.makeText(Main2Activity.this, "第一个", Toast.LENGTH_SHORT).show();break;}return true;}});

这样就加入点击事件了,switch中对应着加入点击事件

》》》》》》快速实例化控件的插件的安装与使用《《《《《《

这篇关于安卓NavigationView使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/514999

相关文章

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝