Android Material Design: NavigationView抽屉导航菜单

之前我写了一篇关于实现Android抽屉导航菜单栏的文章《基于Android官方DrawerLayout实现抽屉导航菜单》,文章链接地址:http://blog.csdn.net/zhangphil/article/details/48710453
在最新的Android Material Design中引入了NavigationView增强DrawerLayout。也可以认为是谷歌官方Android SDK对抽屉导航菜单栏进一步代码规范化。
效果如图所示:


测试的主Activity MainActivity.java :

package zhangphil.materialdesign;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.support.design.widget.NavigationView;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private DrawerLayout drawerLayout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {@Overridepublic boolean onNavigationItemSelected(MenuItem menuItem) {menuItem.setChecked(true);// 关闭drawerLayout.closeDrawers();String t = menuItem.getTitle() + "";Toast.makeText(getApplicationContext(), t, Toast.LENGTH_SHORT).show();return true;}});TextView text1 = (TextView) findViewById(android.R.id.text1);text1.setText("头部1");text1.setTextColor(Color.RED);TextView text2 = (TextView) findViewById(android.R.id.text2);text2.setText("头部2");text2.setTextColor(Color.BLUE);Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 由Button也可以打开// 从左边打开drawerLayout.openDrawer(GravityCompat.START);}});}// @Override// public boolean onOptionsItemSelected(MenuItem item) {// if (item.getItemId() == android.R.id.home){//// //打开// drawerLayout.openDrawer(GravityCompat.START);// }//// return super.onOptionsItemSelected(item);// }}

MainActivity.java需要的布局文件:activity_main.xml文件:

            


activity_main.xml用到的的菜单布局文件main.xml代码:

<?xml version="1.0" encoding="utf-8"?>                                                                                


(1)app:headerLayout表示要在弹出的抽屉导航菜单的顶部(头部)加载的布局。
(2)app:itemIconTint设置抽屉导航菜单中图标icon的颜色。
(3)app:itemTextColor设置抽屉导航菜单中的字体颜色。
(4)app:menu设置加载的菜单布局文件。


更多相关文章

  1. 相对布局常用属性介绍(RelativeLayout)
  2. android 为activity添加optionMenu选项菜单
  3. android AlertDialog 弹窗自定义布局 点击外部不关闭弹窗
  4. android 相对布局覆盖问题

随机推荐

  1. Android的图片压缩类ThumbnailUtils
  2. Android(安卓)修改权限
  3. Android ContentProvider的介绍
  4. Android(安卓)外观模式
  5. Android ListView 滚动条的设置详解及实
  6. 小米,红米手机android 6.0以下 权限管理
  7. 《Android Studio 问题解决集锦》
  8. 64位Ubuntu配置android环境报错(...adb":
  9. 在 Android 应用中使用数据库
  10. cmake 编译 ogre3D(version1.9) for androi