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. 201521123112《Java程序设计》第5周学习
  2. 定位JVM中占CPU较高的堆栈
  3. 约汗——基于Android的大学生找伙伴约运
  4. 【JavaWeb-6】HttpServletResponse的字符
  5. javascript 滑动验证 仿淘宝滑动验证
  6. Java学习笔记之String类
  7. JAVA环境下创建JSP文件报错: The supercla
  8. Java设计模式之策略模式
  9. Java23种设计模式
  10. 【JavaScript&JQuery】原生API实现li标签