drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性)
用起来还是比较简单的:
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/weather_drawer"> <include layout="@layout/你的主布局layout"/> <!--主布局写在这里--> <LinearLayout android:layout_width="200dp" android:layout_height="match_parent" android:id="@+id/weather_left_drawer" android:orientation="vertical" android:layout_gravity="left" android:background="@color/black"> <ListView android:layout_width="200dp" android:layout_height="match_parent" android:id="@+id/left_drawer_listview" android:background="@color/black"> </ListView> </LinearLayout> <!--左抽屉--> <LinearLayout android:layout_width="200dp" android:layout_height="match_parent" android:id="@+id/weather_right_drawer" android:orientation="vertical" android:layout_gravity="right" android:background="@color/black"> <ListView android:layout_width="200dp" android:layout_height="match_parent" android:id="@+id/right_drawer_listview" android:background="@color/black"> </ListView> </LinearLayout> <!--右抽屉--> </android.support.v4.widget.DrawerLayout>
主布局放在第一个,抽屉布局放在后面,android:layout_gravity="xxx",这个属性标识了drawer,这里需要吐槽一下,as的代码提示并没有这个属性。这个属性的值left或者right标识你的这个drawer是从左侧还是右侧划出来。
这时候有同学可能会问了,主布局放在后面行不行,放在中间行不行呀,反正drawerlayout都是靠layout_gravity识别layout_gravity的。
答案:不行。上面那个布局,若将主布局放在两个抽屉中间,会出现一个bug:左边抽屉划出来就划不回去了!(右边的没影响)诸君可自己尝试。
还有一个问题,默认状态下,抽屉划出来的时候会有一层阴影遮住主布局,如下图:
怎么解决这个问题呢,也还是蛮简单的,
drawerLayout.setScrimColor(Color.TRANSPARENT);
添加代码后效果如下图所示:
好了,drawerlayout的基本用法和一些小问题讲到这,想到啥我再补充吧。有问题请留言哟。
相关推荐
以上就是实现"DrawerLayout去除阴影,阴影部分点击不关闭抽屉并可以触发相关view,抽屉侧滑可响应关闭"这一功能的完整步骤。在实际项目中,你可能需要根据具体需求进行微调,例如添加过渡动画或者处理滑动冲突等问题...
DrawerLayout是Android开发中常用的组件,常用于实现侧滑抽屉效果,常见于导航菜单或者设置界面。在Android应用设计中,DrawerLayout提供了方便的方式来展示附加的、可隐藏的视图,用户可以通过从屏幕边缘滑动来显示...
总之,DrawerLayout是Android应用中实现侧滑菜单的关键组件,通过合理地配置和使用,可以提升应用的交互性和用户界面的美观性。熟练掌握DrawerLayout的使用,将有助于开发者构建更符合现代移动应用设计趋势的项目。
为了开启和关闭抽屉,我们可以使用DrawerLayout的`openDrawer()`和`closeDrawer()`方法,或者使用DrawerToggle。DrawerToggle是一个接口,提供了图标切换、监听抽屉状态等功能。在Activity中,我们需要设置...
为了增加用户体验,还可以使用`NavigationView`的一些特性,如设置头像、标题和子标题,以及自定义视图。同时,`NavigationView`还支持`NavigationItemSelectedListener`,可以监听用户在侧边栏中选择的项,从而触发...
下面将详细介绍如何使用 `DrawerLayout`、`Toolbar` 以及如何在Android应用中设置主题颜色。 `DrawerLayout` 是Android支持库中的一个布局组件,它允许开发者在屏幕边缘(通常是从左侧或右侧)滑出一个抽屉式的菜单...
在Android应用开发中,`Toolbar`和`DrawerLayout`是两个非常重要的组件,它们共同构建了常见的导航界面设计。`Toolbar`作为自Android Lollipop版本引入的可定制化动作栏,替代了传统的`ActionBar`,提供了更多的灵活...
使用DrawerLayout,开发者可以在主视图旁边滑出一个或多个"抽屉",通常包含导航菜单或设置选项。 ### 1. DrawerLayout的基本结构 DrawerLayout由两部分组成:主内容视图(Main Content View)和一个或多个抽屉视图...
本项目“Fragment的嵌套和侧滑菜单DrawerLayout加标签页的使用demo”旨在演示如何在Android Studio中巧妙地结合Fragment、DrawerLayout以及SlidingTabLayout来创建一个功能丰富的应用界面。 首先,我们来详细解析每...
6. 使用DrawerLayout的方法来控制抽屉的开关,如openDrawer()和closeDrawer()。 关键属性和方法: - android:drawerLockMode:锁定抽屉的状态,可设置为"unlocked"(默认)、"lock"(始终关闭)、"unlockWhenOpen...
本文将详细讲解如何使用`DrawerLayout`和`SlidingMenu`库来实现这一功能。 首先,`DrawerLayout`是Android SDK自带的一个组件,它是Android官方推荐的实现侧滑菜单的方式。`DrawerLayout`允许开发者在主屏幕的边缘...
在这个项目中,开发者可以学习如何设置抽屉的打开和关闭动画,如何添加和处理抽屉的滑动事件,以及如何将NavigationView与DrawerLayout集成。在实践中,通常会使用`setDrawerListener()`方法来监听抽屉的状态变化,...
4. **设置监听器**:在MainActivity中,获取DrawerLayout的实例,并设置其打开和关闭的监听器。通常,我们会在点击汉堡图标或主视图外的区域时触发打开,点击菜单项时关闭抽屉。 5. **连接NavigationView**:通过`...
在Android应用开发中,侧滑菜单(通常称为DrawerLayout)是一种常见的设计模式,它允许用户通过从屏幕边缘向内滑动来展示一个隐藏的...通过合理地使用和定制,开发者可以构建出符合用户习惯且功能强大的Android应用。
在"DrawerLayoutDemo"中,这个文件可能指定了支持的最低Android版本和所使用的SDK工具版本。 `AndroidManifest.xml`是Android应用的核心配置文件,它声明了应用的组件(如Activity、Service)、权限请求、应用图标...
DrawerLayout是一个抽屉式菜单,在app开发中是很常见的,比较简单且很实用的一个东西。如果你喜欢我写的东西,可以到我的个人博客(kntryer.github.io)看看,小白一个,大神莫嫌弃,谢谢!
通过 DrawerLayout 和 NavigationView 的结合使用,开发者可以轻松地在 Android 应用中实现专业的抽屉侧滑效果,提供用户友好的导航体验。在实际开发中,根据具体需求,还可以对抽屉的动画效果、布局样式等进行...
博客文章"viewPager和drawerLayout实现侧拉菜单和滑动标签"可能详细介绍了如何设置和配置这两个组件,包括自定义适配器、处理触摸事件、以及实现抽屉滑动效果的动画。文章中的代码示例可能提供了实际操作的指导,...
调用`setSupportActionBar()`方法设置Action Bar,然后使用`ActionBarDrawerToggle`连接Action Bar和`DrawerLayout`。通过监听`DrawerLayout`的状态,处理菜单的打开和关闭事件。 6. **菜单项的点击事件** 为了...