昨天晚上敲到快凌晨一点的时候,把这个模板的导航栏敲出来的。


添加 compile 'com.android.support:design:23.2.1'

关于布局文件层次结构:



代码较琐,贴一下较为主要的:

一、activity_layout.xml

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


二、MainActivity.java

package com.example.hejingzhou.navigationdemo;import android.content.Intent;import android.support.design.widget.NavigationView;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button TestBtn = (Button)findViewById(R.id.TestButton);        TestBtn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(MainActivity.this, "点击了测试Button", Toast.LENGTH_SHORT).show();            }        });        Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);        toolbar.setTitle("贺景洲");        setSupportActionBar(toolbar);        DrawerLayout drawerLayout = (DrawerLayout)findViewById(R.id.drawerLayout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(//ActionBarDrawerToggle将组件组合的一个简单的方法类        this,drawerLayout,toolbar,R.string.open,R.string.close);        /**         * ActionBarDrawerToggle 构造方法         * @param activity                  The Activity hosting the drawer.         * @param toolbar                   The toolbar to use if you have an independent Toolbar.         * @param drawerLayout              The DrawerLayout to link to the given Activity's ActionBar         * @param openDrawerContentDescRes  A String resource to describe the "open drawer" action         *                                  for accessibility         * @param closeDrawerContentDescRes A String resource to describe the "close drawer" action         *                                  for accessibility         */        drawerLayout.setDrawerListener(toggle);// 抽屉事件通知设置一个侦听器        toggle.syncState();//抽屉的状态指示器/启示与链接DrawerLayout同步        NavigationView navigationView = (NavigationView)findViewById(R.id.navigationView);        navigationView.setNavigationItemSelectedListener(this);//设置一个侦听器,当单击菜单项时,将通知。    }    /**     * 当按下返回键的时候的  如果抽屉开着将关闭抽屉      */    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawerLayout);        if(drawer.isDrawerOpen(GravityCompat.START)){            drawer.closeDrawer(GravityCompat.START);        }else {            super.onBackPressed();        }        //super.onBackPressed();    }    /**     * 抽屉项的监听     * @param item     * @return     */    @Override    public boolean onNavigationItemSelected(MenuItem item) {        int id = item.getItemId();        if(id == R.id.message){            Toast.makeText(this,"点击了个人信息",Toast.LENGTH_SHORT).show();        }else if(id == R.id.camera){            Toast.makeText(this,"点击了打开相机",Toast.LENGTH_SHORT).show();        }else if(id == R.id.joke){            Toast.makeText(this,"点击了今日笑话",Toast.LENGTH_SHORT).show();        }else if(id == R.id.phto){            Toast.makeText(this,"点击了我的图库",Toast.LENGTH_SHORT).show();        }else if(id == R.id.setNet){            Toast.makeText(this,"点击了网络设置",Toast.LENGTH_SHORT).show();        }else if(id == R.id.setbluetools){            Toast.makeText(this,"点击了蓝牙设置",Toast.LENGTH_SHORT).show();        }        DrawerLayout drawerLayout = (DrawerLayout)findViewById(R.id.drawerLayout);        drawerLayout.closeDrawer(GravityCompat.START);        return true;    }}


效果:                 
源码 :http://download.csdn.net/detail/csdnhejingzhou/9475420

更多相关文章

  1. Android(安卓)蓝牙驱动 概要
  2. Android平台开发-Bluez function porting-蓝牙功能移植
  3. Android系统中的输入输出设备
  4. Android(安卓)关于蓝牙的文章
  5. Android(安卓)左侧滑动窗口打开关闭监测
  6. Android(安卓)1.5 1.6 2.0 2.1 2.2区别
  7. no drawer view found with gravity RIGHT(Android实现抽屉从右
  8. Android的蓝牙实例代码中找不到REQUEST_ENABLE_BT
  9. Android(安卓)Audio System 之二: AudioFlinger

随机推荐

  1. Android平台架构及特性(1)
  2. 解决scrollview嵌套ImageView时,出现除顶
  3. Android中原始资源文件使用详解
  4. Android小项目之--找到本地联络人并向其
  5. 模拟器上安装Android Market
  6. CTS bug排除
  7. Android开发者必知的开发资源
  8. Android封装SDK的使用
  9. Android OS4.2右靠齐的表示问题
  10. 在Android平台下失去的机会