Android 开发之Android Material Design NavigationView侧滑界面自定义

一、侧滑界面Menu自定义:

在menu文件夹下新建activity_main_drawer.xml文件,自定义标题和icon:

<?xmlversion ="1.0"encoding="utf-8"?>

android:title="十万个为什么"/>

android:title="百科知识"/>

android:title="科普博览"/>

android:title="科普读物"/>

android:title="我的私藏"/>

android:title="作者"/>

android:title="版权说明"/>

二、侧滑界面头部布局自定义

在layout下新建nav_header_main.xml文件进行侧滑界面头部自定义布局:

android:layout_width="match_parent"

android:layout_height="@dimen/nav_header_height"

android:background="@drawable/side_nav_bar"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:theme="@style/ThemeOverlay.AppCompat.Dark"

android:orientation="vertical"

android:gravity="bottom">

android:layout_height="wrap_content"

android:paddingTop="@dimen/nav_header_vertical_spacing"

android:src="@mipmap/ic_launcher"

android:id="@+id/imageView" />

android:layout_height="wrap_content"

android:paddingTop="@dimen/nav_header_vertical_spacing"

android:text="@string/app_name"

android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

android:layout_height="wrap_content"

android:text="Encyclopedia World"

android:id="@+id/textView" />

三、开始创建activity的布局文件

将自定义menu和头部布局添加到activity_main.xml布局文件的NavigationView控件中:

android:id="@+id/nav_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

android:fitsSystemWindows="true"

app:headerLayout="@layout/nav_header_main"

app:menu="@menu/activity_main_drawer" />

四、在activity声明并调用NavigationView

声明NavigationView:

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);

对NavigationView每个item的进行监听:

@Override

public boolean onNavigationItemSelected(MenuItem item) {

// Handle navigation view item clicks here.

int id = item.getItemId();

switch (id){

case R.id.nav_forWhy://十万个为什么

break;

case R.id.nav_knowledge://百科知识

break;

case R.id.nav_expo://科普博览

break;

case R.id.nav_reader://科普读物

break;

case R.id.nav_favorite://我的私藏

break;

case R.id.nav_author://作者

break;

case R.id.nav_about://版权说明

break;

}

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);

drawer.closeDrawer(GravityCompat.START);//关闭侧滑界面

return true;

}

五、最终效果图:

Demo下载地址:http://zhushou.360.cn/detail/index/soft_id/3145828

android界面侧滑,Android 开发之Android Material Design NavigationView侧滑界面自定义相关推荐

  1. android 电量详情,Android应用开发之Android 8.0 电池-)耗电详情获取方法

    本文将带你了解Android应用开发之Android 8.0 电池-)耗电详情获取方法,希望本文对大家学Android有所帮助. Android 8.0 电池-)耗电详情获取方法 主要介绍UI位置和基 ...

  2. 3G应用开发之Android 传智播客 基础知识总结

    3G应用开发之Android Android应用开发之3G  3G应用开发之Android 3G应用开发之Android 应用开发之 讲师: 讲师:黎活明 北京传智 播客教育 www.itcast.c ...

  3. android app启动流程分析,Android应用开发之Android 7.0 Launcher3的启动和加载流程分析...

    本文将带你了解Android应用开发Android 7.0 Launcher3的启动和加载流程分析,希望本文对大家学Android有所帮助. Android 7.0 Launcher3的启动和加载流程 ...

  4. 镜像处理坐标 android,Android应用开发之Android重写ImageView实现图片镜像效果的代码教程...

    本文将带你了解Android应用开发之Android重写ImageView实现图片镜像效果的代码教程,希望本文对大家学Android有所帮助. 前两天朋友问我一个问题,如何实现从手机系统相册加载一张图 ...

  5. android添加截图功能,Android应用开发之Android 5.0及以上编程实现屏幕截图功能的方法...

    本文将带你了解Android应用开发Android 5.0及以上编程实现屏幕截图功能的方法,希望本文对大家学Android有所帮助. 本文实例讲述了Android   5.0及以上编程实现屏幕截图功能 ...

  6. android 图片横竖判断_Android应用开发之android 判断ImageView当前显示的是哪一张图片...

    本文将带你了解Android应用开发之android   判断ImageView当前显示的是哪一张图片,希望本文对大家学Android有所帮助. 判断ImageView当前显示的是哪一张图片 Java ...

  7. Android关掉多个activity,Android应用开发之Android Activity栈管理 制定关闭某一个Activity,关闭所有Activit...

    本文将带你了解Android应用开发之Android Activity栈管理  制定关闭某一个Activity,关闭所有Activit,希望本文对大家学Android有所帮助. 系统Api :打开新的 ...

  8. java edittext 输入监听_Android应用开发之Android EditText 监听用户输入完成的实例

    本文将带你了解Android应用开发Android EditText 监听用户输入完成的实例,希望本文对大家学Android有所帮助. 我们都知道, Android   EditText输入框,并没有 ...

  9. android图片保存形式,Android应用开发之Android ScrollView截图和图片保存到相册的方式...

    本文将带你了解Android应用开发之Android ScrollView截图和图片保存到相册的方式,希望本文对大家学Android有所帮助. 1.1首先来看你一种截取屏幕,这种代码有缺陷,只能截取一 ...

  10. android 开发art,Android应用开发之Android 系统启动原理(art 虚拟机)

    本文将带你了解Android应用开发之Android 系统启动原理(art 虚拟机),希望本文对大家学Android有所帮助. Android   系统启动原理(art 虚拟机) 一.虚拟机的启动 A ...

最新文章

  1. 使用思科3640实现不同网段通讯
  2. UI仿写 - 收藏集 - 掘金
  3. Vue.js 对比其他框架
  4. Redis事物分布式锁
  5. 电商促销素材|设计简洁,适合小清新文艺气质的你!
  6. Ros无法自动补全命令的解决
  7. 17.XML 命名空间(XML Namespaces)
  8. 报错:'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
  9. 刚接触新工作的程序员:直接运行include
  10. 基于主键索引和普通索引的查询区别
  11. 1、项目搭建、本地视频列表展示
  12. 【极速下载】gradle各版本快速下载地址大全
  13. 在mysql调用存储过程完成spilt切割
  14. 生信必会格式:Fasta Fastq 简介及转换
  15. 不能拖动CAD文件到CAD窗口打开,解决方案
  16. Windows手动配置ip
  17. 亚信安全明日上市:市值将超百亿 募资12亿
  18. python正则匹配ABAC型词语
  19. linux nas 多硬盘,较低负担的四硬盘 NAS 选择,Synology DS416j 登场
  20. iphone3开发基础教程中文版高清PDF全集迅雷高速下载

热门文章

  1. 写一函数,将一个3*3的整型矩阵转置。
  2. 随机森林里oob_score以及用oob判断特征重要性的理解
  3. js date日期格式化
  4. Tri-BACKUP Pro 9 Mac磁盘数据备份软件
  5. ios java 程序_使用java代码实现推送IOS消息
  6. Tautology (logic)介绍
  7. 各种水龙头拆卸图解_水龙头拆除和安装步骤图解
  8. 智能abc是什么输入法:win10可用的智能abc输入法免费下载
  9. 【语音智能管家】之语音唤醒(附演示视频)
  10. 今日分享——《青春》(李大钊)