android侧滑菜单控件DrawerLayout使用方法详解

  

drawerLayout是支持库包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,谷歌借鉴而出现的产物.drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。
  

  

<强>使用步骤:

  

创建一个DrawerLayout

  

为了添加导航抽屉,你需要在你的布局界面中声明一个DrawerLayout对象作为布局的根节点。同时在DrawerLayout内部添加两个观点:
  

  
      <李>添加一个视图,它包含应用的主内容(当抽屉隐藏时你的主要布局);李   <李>添加另一个视图它包含了导航抽屉。
      李   
  

如下面例子所示:该布局使用了DrawerLayout它包含了两个子节点:一个FrameLayout它包含了主要内容(在运行时将会被碎片替换)和一个列表视图作为导航抽屉,上面titlebar上图标,负责打开、关闭抽屉。
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "      xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   比;   LinearLayout & lt;   面向android:="水平"   android: layout_width=" match_parent "   android: id=癅 + id/titleBar”   android:重力=" center_vertical "   android:背景=" @android:颜色/darker_gray”   android: layout_height=" 40 dp”比;      & lt; ImageView   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: src=" https://www.yisu.com/zixun/@drawable ic_drawer "   android: onClick=" onClickDrawerOpened "   android:点击=" true "   android: id=癅 + id/imageView”/比;   & lt;/LinearLayout>   & lt; android.support.v4.widget.DrawerLayout   android: id=癅 + id/drawer_layout”   android: layout_below=" @ id/titleBar”   android: layout_width=" match_parent "   android: layout_height=癿atch_parent”比;   & lt; !——主要内容视图——比;      & lt; FrameLayout   android: id=癅 + id/content_frame”      android: layout_width=" match_parent "   android: layout_height=" match_parent "祝辞& lt;/FrameLayout>      & lt; !——导航抽屉——比;   & lt;列表视图   android: id=癅 + id/left_drawer”   android: layout_width=" 240 dp”   android: layout_height=" match_parent "   android: layout_gravity=翱肌?   android:背景=" # 111 "   android: choiceMode=" singleChoice "   android:分频器=" @android:颜色/透明”   android: dividerHeight=" 0 dp "/比;   & lt;/android.support.v4.widget.DrawerLayout>   & lt;/RelativeLayout>之前      

上面这个例子包含了一些重要的布局技巧:
  

  
      <李>主内容视图(FrameLayout在最上层)必须是Drawerlayout的第一个子节点因为XML在安排这些界面的时候是按照Z轴的顺序来安排的同时抽屉必须在主内容的顶部。   <李>主内容视图被设置成匹配父视图的宽和高,因为当导航抽屉隐藏的时候它要填充整个UI。   <李>导航视图(视图)必须被声明一个水平的重力借助属性android: layout_gravity。为了满足从右到左的约定,声明它的值为“开始”代替“左”(因此这个抽屉将会在右面呈现当布局是RTL时)   <李>在导航视图声明时:宽度用dp为单位,高度匹配父视图。为了保证用户无论怎样都能看到主内容的一部分,导航抽屉的宽度不能超过320 dp
      李   
  

初始化抽屉列表

  

在你的活动中,要做的第一件事是初始化导航抽屉的列表项。具体该怎么做根据你应用的内容来定,但是导航抽屉通常包含一个列表视图,所以还需要一个相匹配的适配器(比如ArrayAdapter或者SimpleCursorAdapter)
  下面的例子,告诉你该如何借助一个字符串数组来初始化一个导航列表
  

        公开课MainActivity延伸活动{   私人DrawerLayout mDrawerLayout;   私人ListView mDrawerList;      私人String [] mPlanetTitles;      @Override   保护空白>   私人类DrawerItemClickListener实现视图。OnItemClickListener {   @Override   公共空间>   公共空间alt=" android侧滑菜单控件DrawerLayout使用方法详解“>

android侧滑菜单控件DrawerLayout使用方法详解