Android Material风格的应用(三)--DrawerLayout

添加抽屉导航

Android Material风格的应用(一)--AppBar TabLayout
Android Material风格的应用(二)--RecyclerView
Android Material风格的应用(三)--DrawerLayout
Android Material风格的应用(四)--FloatActionButton
Android Material风格的应用(五)--CollapsingToolbar


DrawerLayout


工程源码

  • 创建导航菜单
    res/menu/menu-natigation.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single"> <item android:icon="@drawable/ic_home_black_24dp" android:tint="@color/button_grey" android:title="One" /> <item android:icon="@drawable/ic_favorite_black_24dp" android:tint="@color/button_grey" android:title="Two"/> <item android:icon="@drawable/ic_bookmark_border_black_24dp" android:tint="@color/button_grey" android:title="Three"/> </group> </menu>

    创建导航的布局 res/layout/navigation.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="@dimen/navheader_height" android:background="?attr/colorPrimaryDark" android:padding="@dimen/md_keylines"> </LinearLayout>

    activity_main.xml中加入DrawerLayout ,是DrawerLayout作为对顶层,使CoordinatorLayout作为它的
    子级

    <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"> ...... </android.support.v4.widget.DrawerLayout>

    CoordinatorLayout的同一级添加NavigationView

    <android.support.design.widget.NavigationView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:id="@+id/nav_view" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header" app:menu="@menu/menu_navigation">

    MainActivity.javaonCreate中添加相关的逻辑

    NavigationView navigationView = (NavigationView)findViewById(R.id.nav_view);
    mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer);
    ActionBar supportActionBar = getSupportActionBar();
    if(supportActionBar != null){supportActionBar.setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp);supportActionBar.setDisplayHomeAsUpEnabled(true);
    }
    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {@Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { item.setChecked(true); mDrawerLayout.closeDrawers();; return true; } });

    相应左上角的menu,打开导航

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {int id = item.getItemId();if(id == android.R.id.home){ mDrawerLayout.openDrawer(GravityCompat.START); }  return super.onOptionsItemSelected(item); }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5 数据缓存,HTML5: 本地缓存

HTML5 提供了两种在客户端存储数据的新对象&#xff1a;localStorage&#xff1a;没有时间限制的数据存储&#xff0c;在同一个浏览器中&#xff0c;只要没被手动清理&#xff0c;第二天、第二周或下一年之后&#xff0c;数据依然可用。sessionStorage&#xff1a;针对一个 ses…

上传Text文档并转换为PDF

今天在ASP.NET MVC环境中学习一些PDF相关的知识&#xff0c;想法是上传文件成功时&#xff0c;并把文件转换为PDF文档。 打开你的专案&#xff0c;运行NuGet包管理器&#xff0c;下载一个叫iTextSharp的东东&#xff1a;点击Install&#xff0c;按钮提示确认安装&#xff0c;成…

递归函数(九):最小不动点定理

递归函数&#xff08;一&#xff09;&#xff1a;开篇递归函数&#xff08;二&#xff09;&#xff1a;编写递归函数的思路和技巧递归函数&#xff08;三&#xff09;&#xff1a;归纳原理递归函数&#xff08;四&#xff09;&#xff1a;全函数与计算的可终止性递归函数&#…

html中单选框颜色怎么改,如何更改单选按钮的颜色?

侃侃无极一种快速的解决方法是使用来覆盖单选按钮的输入样式:after&#xff0c;但是创建自己的自定义工具箱可能是更好的做法。 input[typeradio]:after { width: 15px; height: 15px; border-radius: 15px; top: -2px; left: -1px; …

如何先执行input (checkbox,radio)再执行函数

2019独角兽企业重金招聘Python工程师标准>>> 遇到一个问题&#xff0c;当input type"checkbox"点击时&#xff0c;没有立即执行勾选或去勾&#xff0c;而是先执行函数&#xff0c;如下代码 $(".sidebar_cart .cart_list ul").on("click&qu…

Linux服务器上监控网络带宽的18个常用命令

本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据&#xff0c;并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。 作者&#xff1a;布加迪编译来源&#xff1a;51CTO.com|2014-04-11 10:10移动端收藏分享【51…

[转]Windows Phone 7程序设计”完全版电子书可以免费下载了

本文转自&#xff1a;http://www.cnblogs.com/salam/archive/2010/10/29/1864246.html 现在学习Windows Phone 7开发资料十分有限&#xff0c;除了MSDN的官方开发文档外和一些博客外&#xff0c;几无其他的学习渠道。幸运地是美国的资深程序员兼作家Charles Petzold为大家免费放…

linux-redhat替换yum网络源为centos网络源

2019独角兽企业重金招聘Python工程师标准>>> 1.为什么要替换 redhat系统使用yum命令安装软件时会出现This system is not registered with RHN. RHN support will be disabled. 原因是redhat的yum安装软件需要注册&#xff0c;是收费的。而centos的yum源是免费的。这…

计算机如何打开无线网络适配器,win7系统下网络适配器打不开怎么解决

通常情况下我们的电脑中都会有一个网络适配器&#xff0c;这是计算机联网的设备&#xff0c;不过最近有深度技术win7旗舰版系统用户却遇到了网络适配器打不开的情况&#xff0c;该怎么办呢&#xff0c;接下来系统城小编就给大家分享一下win7系统下网络适配器打不开的具体解决方…

【Intellij Idea】设置JDK

1&#xff0c;File-->Project Structure 说明&#xff1a;可以设置整个工程的JDK&#xff0c;也设置每个modules的JDK,但是一般整个工程的JDK. 2&#xff0c;或者通过快捷键&#xff1a;ctrlaltshifts 转载于:https://www.cnblogs.com/august-shi/p/6655469.html

绘图用计算机配置要求,绘图笔记本电脑基本配置要求 绘图笔记本推荐

现在很多工业图、工程图都需要用电脑来话&#xff0c;比如CAD、PS、三维画图这些软件对电脑的配置要求还是比较高的&#xff0c;还有一些对色彩要求高的动画软件&#xff0c;那就更加需要配置了&#xff0c;下面小编就来简单说说绘图笔记本电脑最基本的配置要求以及绘图笔记本推…

计算机无法正常更新,无法完成更新正在撤销更改请不要关闭你的计算机如何修复...

我们电脑开机的时候可能会遇到各种问题&#xff0c;比如就有用户发现电脑开机的时候&#xff0c;一直提示无法完成更新正在撤销更改请不要关闭你的计算机&#xff0c;等待了很长时间也进不去系统&#xff0c;遇到这样的问题该怎么办呢&#xff1f;不用担心小编给大家支招&#…

自媒体和计算机相关吗,做自媒体,台式电脑跟笔记本电脑用哪个好呢?

四阿哥fly回答数&#xff1a;143 | 被采纳数&#xff1a;162019-06-29 12:16:21作为去年折腾了一年自媒体&#xff0c;各种情况遇到过&#xff0c;分享下台式电脑和笔记本到底哪个好&#xff1f;好在哪里&#xff1f;如果真的要选择&#xff0c;个人还是推荐用台式比较好。工…

React进阶—性能优化

React性能优化思路 软件的性能优化思路就像生活中去看病&#xff0c;大致是这样的&#xff1a; 使用工具来分析性能瓶颈&#xff08;找病根&#xff09;尝试使用优化技巧解决这些问题&#xff08;服药&#xff09;使用工具测试性能是否确实有提升&#xff08;疗效确认&#xff…

Supervised Descent Method and its Applications to Face Alignment

广播说明&#xff1a; 进入深度学习时代&#xff0c;如下的方法已经失去可比性&#xff0c;且我们的代码实现地很粗糙&#xff0c;如果坚持要用&#xff0c;推荐如下代码 https://github.com/wanglin193/SupervisedDescentMethod &#xff08;看起来作者对sdm实现的不错&…

国外计算机课程lab,计算机系统实验之bomblab

今天刚刚验收CSAPP实验3&#xff0c;趁着余温&#xff0c;记录一下这个实验&#xff0c;顺便回顾下CSAPP课程的相关知识。实验目的1.使用gdb工具反汇编出汇编代码&#xff0c;结合c语言文件找到每个关卡的入口函数。然后分析汇编代码&#xff0c;分析得到每一关的通关密码。2.熟…

SDM For Face Alignment 流程介绍及Matlab代码实现之预处理篇

SDM全称为 Supervised Descent Method&#xff0c;是一种机器学习的方法&#xff0c;可以被用来做Face Alignment. 下面我们将通过matlab代码来梳理整个实现的过程。 预处理阶段 Input&#xff1a; ../data/lfpw/trainset &#xff08;811张图片&#xff09; Output: mean_…

分享25个新鲜出炉的 Photoshop 高级教程

网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径。今天&#xff0c;我向大家分享25个新鲜出炉的 Photoshop 高级教程&#xff0c;提高你的设计技巧&#xff0c;制作时尚的图片效果。这些教程可以帮助把你的想法变成现实&#xff0c;并创造新的东西。 …

SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇

SDM 训练阶段的任务如下&#xff1a; 载入标准化的数据&#xff08;包括400*400的正脸及特征点&#xff09;对每一张标准化的图片&#xff0c;模拟人脸检测仪&#xff0c;产生10个扰动的人脸框及相应的初始特征点x0。求解Δx,Φ,其中Δxx∗−x0,x∗表示true shape,Φ表示每个特…

Hibernate5-多对1(n:1)-fetch=join

1.创建项目,项目名称hibernatedemo26,目录结构如图所示2.在项目中创建lib目录存储jar文件,目录结构如图所示3.在src目录中创建实体类Forum,包名(com.mycompany.demo.bean),如图所示4.实体类Forum的内容如下package com.mycompany.demo.bean;import java.util.Set;public class …