Android v4包为开发者提供了一个侧滑控件DrawerLayout,使用起来也非常简单方便,省去了过去我们使用第三方库SlidingMenu之类的烦恼。
本篇博文主要是演示如何使用v4包下的侧滑控件DrawerLayout来现实一个可以左右侧滑的效果。(本案例在Eclipse下开发)
初识DrawerLayout真面目
(1)这个控件在v4包的 android.support.v4.widget包下。
android.support.v4.widget
|--DrawerLayout.class
说明:在Eclipse中创建项目,一般来自动在libs目录下包含v4支持包。
(2)DrawerLayout继承了ViewGroup,说明它是一个布局容器。
如果我们希望整个界面整体可以侧滑,我们可以把DrawerLayout作为整个界面的根布局。
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dl_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.widget.DrawerLayout>
在这个容器中我们可以添加内容界面布局(就是打开界面首先显示内容的那部分布局),左菜单界面布局,右菜单界面布局。
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dl_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!--内容界面布局-->
<!--左菜单界面布局-->
<!--右菜单界面布局-->
</android.support.v4.widget.DrawerLayout>
DrawerLayout为了识别或智能的控制内容布局、左菜单布局、右菜单布局,对三者的放置顺序做了限定,要求内容布局必须放在其它两个布局的前面
如果把菜单布局放到内容布局前面,运行程序会报类型转换异常,这也说明它对放置顺序做了限定,与此同时需要在左菜单根布局添加
android:layout_gravity = "start"或"left"控制它在左边,DrawerLayout识别它作为左菜单布局,同样如果有右菜单界面,则右菜单根布局需要添加
android:layout_gravity =