分享

DrawerLayout 和 NavigationView到底是什么?

 条山石头 2019-05-01

可以在android studio上很快新建一个侧滑布局
DrawerLayout 抽屉布局

NavigationView 怎么翻译我也不清楚,导航栏?
那么它指的是那一部分呢?
点击侧滑按钮之后,出现的一个新页面,这个新页面就是 Navigation
(对照下方官方代码)


image.png

官方的DrawerLayout是这么写的

使用DrawerLayout要注意几点:

  1. 主内容视图一定要是DrawerLayout的第一个子视图。 就如官方代码的那样,app_bar_main是主内容视图,那么他一定要放到代码的第一个视图才行,放到前面。

  2. 主内容视图宽度和高度需要match_parent

  3. 必须显示指定侧滑视图的android:layout_gravity属性 android:layout_gravity = 'start'时,从左向右滑出菜单 android:layout_gravity = 'end'时,从右向左滑出菜单 不推荐使用left和right!!!

  4. 设置侧滑事件:mDrawerLayout.setDrawerListener(DrawerLayout.DrawerListener);

  5. 要说一点:可以结合Actionbar使用当用户点击Actionbar上的应用图标,弹出侧滑菜单! 这里就要通过ActionBarDrawerToggle,它是DrawerLayout.DrawerListener的具体实现类, 我们可以重写ActionBarDrawerToggle的onDrawerOpened()和onDrawerClosed()以监听抽屉拉出 或隐藏事件!

  6. 如何隐藏 那个按钮(点击它滑出侧滑栏),将上面代码中的toolbar删掉, 他的默认是,只要你将toobar绑定到 drawer,那么你的toobar就会出现那个按钮。

  7. 还有很多自定义的属性,详细设置。

  8. 这个DrawerLayout一定要配合Navigation吗?
    不!其实那个navigationView就是一个导航页面,由官方布局,命名,我们能用一个ListView来代替他的代码,实现差不多的功能。

image.png

所以,这个NavigationView只是一种布局格式,上面有header,下面是menu,看起来好看而已。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多