Android抽屉式导航栏使用及相关类认识

抽屉式导航栏官方推出好久了,之前也使用过,但对这些类都是懵懵懂懂的。今天认真看了下文档才把这些类搞清楚。个人对MD的设计风格还是很喜欢的。

DrawerLayout

DrawerLayout是一个窗口内容的顶层容器(像LinearLayout、FrameLayout这些一样),它的用处在于允许从窗口的一个或两个垂直边缘拉出交互式“抽屉”视图(这个抽屉指的就是滑出的View,说抽屉还挺形象的啊)。也就是说要实现滑出View的话,你得使用这个ViewGroup作为顶层布局。

抽屉定位和布局使用android:layout_gravity属性来控制,该属性决定抽屉视图从哪个方向滑出:左侧或右侧(基于支持布局方向的平台版本,例如有些地区阅读方向是从右往左,要考虑这些情况可以统一使用start而不是left)。每个垂直边缘只能有一个抽屉视图。如果布局在窗口的每个垂直边缘配置多个抽屉视图,则会在运行时抛出异常。

  • 要使用DrawerLayout,需要将主内容视图作为第一个子节点(因为在xml文件中布局将在z轴上进行覆盖,后面的布局覆盖前面的,这里必须保证滑出视图在主视图之上)。
  • 主内容视图宽度和高度为match_parent而且不要使用layout_gravity。主内容视图设置为匹配父视图的宽度和高度, 因为在抽屉式导航栏处于隐藏状态时, 它和平时UI界面没什么两样。
  • 在主内容视图之后添加抽屉视图(滑出的View),并设置layout_gravity,这决定视图从那边滑出,如果不设置将直接显示而不是滑出。抽屉通常使用match_parent为高度,宽度为固定值(宽度不应超过 320dp,从而用户始终可以看到部分主内容)。

根据“Android设计指南”,任何位于左侧(基于阅读顺序)的抽屉应当是对应用程序中内容的导航,而位于右侧的抽屉是对当前内容所执行的操作。

使用示例
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- 主内容视图,通常由抽屉中的item点击来决定使用相应的fragment进行填充 -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <!-- 抽屉视图,可以为任意视图 -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity=
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值