Android5.0DrawerLayout学习
来源:互联网 发布:淘宝手机助手ipad版 编辑:程序博客网 时间:2024/05/29 00:31
android.support.v4.widget.DrawerLayout,抽屉功能,可以实现左侧滑动菜单效果
* 布局文件
<?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="true" tools:openDrawer="start"> <!--这里是嵌入ToolBar布局文件,包含了内容显示布局文件--> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- 左侧滑动菜单 --> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" <!--控制抽屉弹出方向,可选值为left,right,start和end --> android:layout_gravity="start" android:fitsSystemWindows="true" <!-- 抽屉头部的显示布局 --> app:headerLayout="@layout/nav_header_main" <!-- 抽屉下部的显示布局 --> app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout>
- nav_header_main布局文件内容
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" android:background="@drawable/side_nav_bar" android:gravity="bottom" android:orientation="vertical" 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"> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" app:srcCompat="@android:drawable/sym_def_app_icon" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:text="Android Studio" android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="android.studio@android.com" /> </LinearLayout>
- activity_main_drawer布局文件内容
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_camera" android:icon="@drawable/ic_menu_camera" android:title="Import" /> <item android:id="@+id/nav_gallery" android:icon="@drawable/ic_menu_gallery" android:title="Gallery" /> <item android:id="@+id/nav_slideshow" android:icon="@drawable/ic_menu_slideshow" android:title="Slideshow" /> <item android:id="@+id/nav_manage" android:icon="@drawable/ic_menu_manage" android:title="Tools" /> </group> <item android:title="Communicate"> <menu> <item android:id="@+id/nav_share" android:icon="@drawable/ic_menu_share" android:title="Share" /> <item android:id="@+id/nav_send" android:icon="@drawable/ic_menu_send" android:title="Send" /> </menu> </item> </menu>
- 初始化抽屉控件代码
private void initDrawerLayout() { drawer1 = (DrawerLayout) findViewById(R.id.drawer_layout); //开关:关联DrawerLayout和Toolbar,需要配合使用 ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer1, toolbar, //这两个参数可以不指定 R.string.navigation_drawer_open, R.string.navigation_drawer_close); //drawer.setDrawerListener(toggle); 已经过时 drawer1.addDrawerListener(toggle); // 同步DrawerLayout和Toolbar的状态 toggle.syncState(); }
- 初始化侧面菜单
private void initNavigationView() { NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener( new NavigationView.OnNavigationItemSelectedListener() { @Override // 点击菜单项,回调此方法 public boolean onNavigationItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.nav_gallery) { Toast.makeText(MainActivity.this, "gallery", Toast.LENGTH_SHORT).show(); } // 关闭侧滑菜单 drawer.closeDrawer(GravityCompat.START); return true; } }); }
0 0
- Android5.0DrawerLayout学习
- Android5.0系统:Material风格以及DrawerLayout抽屉效果
- Android5.0 之 ToolBar与DrawerLayout配合使用
- Android5.0:Toolbar + DrawerLayout 实现侧滑效果
- android5.0的drawerLayout,toolBar,FloatingActionButton,NavigationView的实现
- android5.0学习(一)
- Android5.0--ToolBar学习
- android5.0 Material Design学习
- android5.0充电驱动学习
- 自己对于android5.0新特性DrawerLayout的开关模式的理解
- Android5.0之NavigationView的使用 。android组件之DrawerLayout(抽屉导航)-- 侧滑菜单效果
- Android5.0 新特性学习总结
- Android5.0 新特性学习总结
- 笔记-Android5.0转场动画学习
- Android5.0
- Android5.0
- 学习使用DrawerLayout
- Android DrawerLayout的学习
- 异常,类与枚举
- Codeforces Round #375 (Div. 2) D
- iOS动画纯代码
- Parajumpers Herren twelve can certainly
- 你不知道的Java学习笔记22-- 线程阻塞(线程休眠)方法
- Android5.0DrawerLayout学习
- .zip和.tar.gz的文件有什么区别?
- 第三天
- Codeforces 723B Text Document Analysis
- 初识 gradle
- 别轻易自责,专注力和自制力是稀缺资源
- Cards
- CNKI PDF全文下载脚本
- win10更新后ChsIME CPU使用率高