android DrawerLayout 实现侧滑菜单 知识整理(一)
2017-11-03 16:08
477 查看
友情链接: http://www.jianshu.com/p/d2b1689a23bf(我觉得这个人写的比我详细,比我透彻,觉得还是把这个链接放在这里吧~~ )
一个android小白,转android开发,今天想实现侧滑菜单这个功能,根据网上资料发现,有现成的 DrawerLayout,于是开始学习这个控件
1,DrawerLayout充当窗口内容的顶层容器,允许”抽屉”式的控件可以从窗口的一边或者两边垂直边缘拉出
2,抽屉的位置或者布局可以通过 Android:layout_gravity的子view的属性控制从哪边拉出,left/start代表从左边拉出,right/end 代表从右侧拉出,需要注意的是只能从一个抽屉控件从窗口的垂直边缘,多于一个抽屉控件,将会抛出异常
3,我趟的坑:DrawrLayout must be measured with Measured with MeasureSpec.EXACTLY
由于前面设置的都是 match_parent,所以需要在第二个view中设置一下 layout_gravity="start"
4,侧边菜单其实只是一个普通的View,一般里面装的是ListView,看起来就像菜单,他完全可以是一个button,textView等等。虽然称为菜单,但跟Activity的菜单形式是两码事,Activity的菜单只需要在资源文件中定义好,就能按照固定的形式显示出来。而drawerLayout的侧边菜单显示成什么样完全是取决于你自己,同样点击事件也完全由你自己去写。
源码(网上很多。。):
一个android小白,转android开发,今天想实现侧滑菜单这个功能,根据网上资料发现,有现成的 DrawerLayout,于是开始学习这个控件
1,DrawerLayout充当窗口内容的顶层容器,允许”抽屉”式的控件可以从窗口的一边或者两边垂直边缘拉出
2,抽屉的位置或者布局可以通过 Android:layout_gravity的子view的属性控制从哪边拉出,left/start代表从左边拉出,right/end 代表从右侧拉出,需要注意的是只能从一个抽屉控件从窗口的垂直边缘,多于一个抽屉控件,将会抛出异常
3,我趟的坑:DrawrLayout must be measured with Measured with MeasureSpec.EXACTLY
由于前面设置的都是 match_parent,所以需要在第二个view中设置一下 layout_gravity="start"
4,侧边菜单其实只是一个普通的View,一般里面装的是ListView,看起来就像菜单,他完全可以是一个button,textView等等。虽然称为菜单,但跟Activity的菜单形式是两码事,Activity的菜单只需要在资源文件中定义好,就能按照固定的形式显示出来。而drawerLayout的侧边菜单显示成什么样完全是取决于你自己,同样点击事件也完全由你自己去写。
源码(网上很多。。):
?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/dl_left" android:layout_width="match_parent" android:layout_height="match_parent"> <!--主布局--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/iv_main" android:layout_width="100dp" android:layout_height="100dp" /> </LinearLayout> <!--侧滑菜单--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#fff" android:layout_gravity="start"> <ListView android:id="@+id/lv_left_menu" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@null" android:text="DrawerLayout" /> </LinearLayout> </android.support.v4.widget.DrawerLayout>
相关文章推荐
- android DrawerLayout 实现侧滑菜单 知识整理(二)
- [Android基础知识] 之二十: 侧滑菜单DrawerLayout(抽屉布局)实现
- Android Toolbar+DrawerLayout+PagerSlidingTabStrip实现仿csdn侧滑菜单
- Android使用DrawerLayout实现侧滑菜单效果
- Android使用DrawerLayout实现仿QQ双向侧滑菜单
- Android新手轻松学知乎日报开发(四)使用Toolbar + DrawerLayout实现菜单侧滑
- Drawerlayout实现左右nineoldandroids-2.4.0.jar双向侧滑菜单
- android DrawerLayout侧滑菜单实现
- Android利用DrawerLayout实现侧滑菜单
- Android中DrawerLayout实现侧滑菜单效果
- Android Drawerlayout实现侧滑菜单效果
- Android:使用Toolbar + DrawerLayout快速实现菜单侧滑
- Android Material Design系列之使用Toolbar + DrawerLayout实现高侧滑菜单
- Android中级:ActionBar + DrawerLayout实现侧滑菜单
- Android开发-DrawerLayout实现侧滑菜单(1)
- Android开发-DrawerLayout实现侧滑菜单(1)-自定义ListView的实现&沉浸式状态栏
- android 使用drawerLayout实现侧滑菜单
- Android 高仿QQ5.2双向侧滑菜单DrawerLayout实现源码
- Android侧滑菜单DrawerLayout(抽屉布局)实现
- Android DrawerLayout+NavigationView布局实现左右两边侧滑菜单