DrawerLayout和NavigationView的简单实用
1、添加依赖:
compile 'com.android.support:design:25.3.0' //5.0特性 compile 'de.hdodenhof:circleimageview:2.1.0' //用于图片显示的圆形化
2、创建一个menu文件的nav_menu.xml文件
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"/> <item android:id="@+id/item_one" android:icon="@mipmap/ic_launcher" android:title="one"/> <item android:id="@+id/item_two" android:icon="@mipmap/ic_launcher" android:title="two"/> <item android:id="@+id/item_three" android:icon="@mipmap/ic_launcher" android:title="three"/> <item android:id="@+id/item_four" android:icon="@mipmap/ic_launcher" android:title="four"/> </menu><group/>标签表示一个组,checkableBehavior="single"表示下面的<item/>只能单选,icom属性指定菜单项图标,title属性指定菜单项显示的文字 3、创建一个nav_header.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="180dp" android:background="?attr/colorPrimary" android:padding="10dp"> <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/ic_image" android:layout_width="70dp" android:layout_height="70dp" android:layout_centerInParent="true" android:src="@mipmap/ic_launcher_round"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_below="@+id/ic_image" android:layout_marginTop="10dp" android:gravity="center" android:text="GoodBoy" android:textSize="18sp"/> </RelativeLayout>
其中android:background="?attr/colorPrimary"将背景设置成系统颜色,<de.hdodenhof.circleimageview.CircleImageView/>是将图片圆形化 4、将menu和headerLayout设置到main中
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/toolbar"/> </FrameLayout> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="match_parent" android:layout_height="match_parent"android:layout_gravity="start" app:headerLayout="@layout/nav_header" app:menu="@menu/nav_menu"> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout>其中</android.support.v4.widget.DrawerLayout>是由support-v4库提供的就是滑动菜单, 第一个子控件是FrameLayout:作为主屏幕要显示的内容(里面嵌套了一个toolbar),第二个子控件是滑动菜单中显示的内容即</android.support.design.widget.NavigationView>。现在补充一下android:layout_gravity="start" 这个属性是必须指定的,指定left表示滑动菜单在左边,right表示滑动菜单在右边;而start是根据系统语言判断:比如汉语、英语作为系统语言是从左往右->滑动菜单就在左边,相反则在右边。
:toolbar代码:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:background="@color/colorPrimary" android:minHeight="?attr/actionBarSize" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/tv_tb_title" android:layout_gravity="center" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </android.support.v7.widget.Toolbar>加一个TextView是为了提供选择标题是否居中,要居中则使用其TextView,另外设置toolbar.setTitle("")即可5、Activity主要代码:
setContentView(R.layout.nav_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);TextView textView = (TextView) findViewById(R.id.tv_tb_title);textView.setText("Navigation");toolbar.setTitle("");setSupportActionBar(toolbar);--------------------------------------------------------------------------------效果图:
转载于:https://www.cnblogs.com/banzhuan/p/6672770.html
DrawerLayout和NavigationView的简单实用相关推荐
- android新特性:DrawerLayout与NavigationView配合使用
首先看一下效果吧 Android Design Support Library中增加了 NavigationView与DrawerLayout这个控件.代替SlidingMenu项目中的使用! 在这里 ...
- 一个简单实用的,基于EF的三层架构
到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...
- html 可调节进度条控件,jQuery简单实用的轻量级进度条插件
jQMeter是一款简单实用的轻量级进度条jQuery插件,它可以显示为水平或垂直进度条,进度条加载时带有动画特效,你只需要简单的传入一些参数到jQMeter对象的构造函数中就可以完成你想要的进度条效 ...
- 分享几个用 Python 给图片添加水印的方法,简单实用
作者 |俊欣 来源 |关于数据分析与可视化 今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多 ...
- matlab简单程序实例_visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)...
近期疫情原因,工作比较不忙,所以打算出一套零基础,VB.NET实例系列入门教程,实用又好玩,带大家进入VB的编程世界里,希望这套图文教程能帮到有需要的人! 第一节(简单实用抽奖程序) 内容准备:编译环 ...
- 用aspnetpager实现datalist分页(绝对的简单实用)
微软的Datalist在做电子相册时候必不可少,但是不支持分页功能,都出到2008了还是没有分页功能,幸好网上有个专业的分页空间aspnetpager,帮我们解决了大问题,说实在话的,网上关于data ...
- 这两天老是有兄弟问到Vue的登陆和注册,登陆成功留在首页,没有登录回到登录页面,现在我用最简单实用的方法实现(两分钟技就看懂)...
其实登录注册,并且登录一次保持登录的状态,是每个项目都需要实现的功能. 网上也有很多的方法,不过,不是通俗易懂,在这里说一下我自己的方法,非常简单实用 核心就是用localStorage存.取数据,这 ...
- sql 拼接int类型的字段_一套简单实用的SQL脚本(下篇)
点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 之前已经分享了一部分内容<一套简单实用的SQL脚本(上篇)>接上一章我们继 ...
- python读取excel表格-python读写Excel表格的实例代码(简单实用)
安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...
最新文章
- 阿里云实时计算的前世“功”今生“能”
- golang 反射 获取 设置 结构体 字段值
- 汇编语言——《子程序应用(数制转换)程序设计》实验报告
- python第七关再来一盘_7、 Python系列,七,的,集合
- java list加入listview_Android ListView自动生成列表条目的实例
- 开发10年,全记在这本Java进阶宝典里了!
- throw与throws
- mac无法下载python_无法在Mac上安装Python包(gcc4.0错误)
- 在PaddlePaddle框架下通过两层全连接网络实现IRIS数据分类
- Android开发之数据库Sqlite
- 嘻哈说:设计模式之工厂方法模式
- 深度强化学习中的对抗攻击和防御
- Typora常用好看主题推荐
- linux下检测USB的热插拨
- 推荐几款主流好用的远程终端连接管理软件
- 成就系统和任务系统的设计
- 查询快递 如何操作查询快递物流信息给单号进行标记
- 2007年IBM合作伙伴峰会及新年策略发布
- 为iOS的mobileconfig文件进行签名
- 关于textarea传值(取出,写入数据库)问题
热门文章
- JavaScript数据类型之Boolean以及undefined和null(4)
- 模具计算机辅助设计笔试题,模具CADCAM试卷
- torch.utils.data.DataLoader 详解
- opencv 学习第二课 摄像头、外部视频读取、处理、显示、写入 代码注释版 保证你每一行都能读懂
- matlab2c使用c++实现matlab函数系列教程-normstat函数
- win10 Anaconda 安装教程
- zynq开发系列6:创建AXI IP实现PS对PL的数据配置(步骤二配置block design)
- 在计算机科学中算法指的是,算法 - 为什么斐波纳契数在计算机科学中具有重要意义?...
- luogu p1652 圆
- 18.7 修改IP地址