Drawerlayout,ActionBarDrawetoggle,NavigationView使用
2016-07-13 09:49
316 查看
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="false" android:clipToPadding="false" tools:openDrawer="start"> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:itemTextColor="@color/white" app:itemIconTint="@color/white" android:background="@color/switch_color" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout>
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="none"> <item android:id="@+id/nav_events" android:icon="@drawable/icon_reminds" android:title="Events" /> <item android:id="@+id/nav_holidays" android:icon="@drawable/icon_holidays" android:title="Holidays" /> <item android:id="@+id/nav_settings" android:icon="@drawable/icon_setup" android:title="Settings" /> </group> </menu>
监听
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this);
选项监听:
@Override public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here. int id = item.getItemId(); if (id == R.id.nav_events) { FlurryAgent.logEvent("EVENTS.ECKB"); Intent intent = new Intent(this, EventsActivity.class); startActivity(intent); } else if (id == R.id.nav_holidays) { FlurryAgent.logEvent("festival.ECKB"); Intent intent = new Intent(this, HolidaysActivity.class); startActivity(intent); } else if (id == R.id.nav_settings) { FlurryAgent.logEvent("Personal.ECKB"); Intent intent = new Intent(this, SettingActivity.class); startActivity(intent); } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; }
点击后根据选项判断在关闭
相关文章推荐
- JAVA反射机制
- Nandflash镜像尾部不应填充0xFF
- C# string bytes互转
- iOS书摘之Objective-C编程之道 iOS设计模式解析
- iOS开发支付集成之银联支付
- 大学两年来学到的东西和五月到六月学到的东西
- Java随机数的生成
- HelloWorld
- CodeForces 570B Simple Game
- 多态和虚函数详解
- UIGraphicsBeginImageContext系列知识
- IOS Dev Intro - GCD Series 01
- 布局的一点总结
- μC/OS-Ⅱ之任务设计
- 实现根据身高计算标准体重的难点
- 328. Odd Even Linked List
- Linux下必须知道的网络命令(持续更新)
- $PWD 和 $(pwd)
- iOS开发支付集成之微信支付
- CentOS 7安装虚拟机(简易版)