抽屉布局DrawerLayout使用

前言

第一次使用DrawerLayout时,实现了App左右侧拉的效果.在main_layout布局中,然后在对应的 LinerarLayout中排版组件

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/home_drawer"
    android:layout_height="match_parent"
    android:orientation="vertical">
       //home页面
    <LinearLayout
        android:id="@+id/home_fragment"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </LinearLayout>
        //左抽屉
    <LinearLayout
        android:background="@mipmap/bg_slidingmenu_left"
        android:layout_gravity="left"
        android:layout_width="200dp"
        android:layout_height="match_parent">
    </LinearLayout>
        //右抽屉
    <LinearLayout
        android:gravity="center"
        android:layout_gravity="right"
        android:background="@mipmap/bg_slidingmenu_left"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:orientation="vertical">
    </LinearLayout>

</android.support.v4.widget.DrawerLayout>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" /> 

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"  //start左抽屉  end右抽屉
        android:fitsSystemWindows="true"
        app:itemTextColor="@color/colorPrimaryDark"  
        app:headerLayout="@layout/nav_header_main"  //图中1部分
        app:menu="@menu/activity_main_drawer"/>     //图中2部分

</android.support.v4.widget.DrawerLayout>

//activity_main_drawer.xml 图中2部分  还能这样写,长知识了
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">

    <item android:title="@string/menu_see">
        <menu>
            <item
                android:id="@+id/nav_see_little_sister"
                android:icon="@drawable/ic_menu_sister"
                android:title="@string/menu_see_little_sister" />
            <item
                android:id="@+id/nav_see_news"
                android:icon="@drawable/ic_menu_news"
                android:title="@string/menu_see_news" />
        </menu>
    </item>

    <item android:title="@string/menu_use" >
        <menu>
            <item
                android:id="@+id/nav_use_check_weather"
                android:icon="@drawable/ic_menu_weather"
                android:title="@string/menu_use_check_weather" />
            <item
                android:id="@+id/nav_use_check_subway"
                android:icon="@drawable/ic_menu_subway"
                android:title="@string/menu_use_check_subway" />
            <item
                android:id="@+id/nav_use_tools"
                android:icon="@drawable/ic_menu_tools"
                android:title="@string/menu_use_tools" />
        </menu>
    </item>

    <item android:title="@string/menu_else" >
        <menu>
            <item
                android:id="@+id/nav_else_setting"
                android:icon="@drawable/ic_menu_setting"
                android:title="@string/menu_else_setting" />
            <item
                android:id="@+id/nav_else_about"
                android:icon="@drawable/ic_menu_about"
                android:title="@string/menu_else_about" />
        </menu>
    </item>

</menu>

NavigationView和DrawerLayout组合使用   https://www.jianshu.com/p/d2b1689a23bf

Android 新特性(5.0、6.0、7.0、8.0)  https://www.jianshu.com/p/73c711c697ce

Android 5.0、6.0、7.0、8.0、9.0 新特性,DownloadManager踩坑记https://blog.csdn.net/csdn_aiyang/article/details/85780925

compile 'com.android.support:design:24.2.1' 这个库  android5.0的新特性“Material Design”提供了design库,有很多好用的控件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值