浅谈DrawerLayout

DrawerLayout 是谷歌官方推出的侧滑控件,使用时首先添加相关的包并将DrawerLayout作为跟布局:

implementation 'com.android.support:design:26.1.0'
DrawerLayout主要分为两部分内容:

1.主内容区域,即当前页面显示的内容.(注:主内容区域必须为跟布局下第一个子视图内容)

2.侧滑菜单区域.可以左滑和右滑,跟自己需求定.(注:侧滑菜单需设置android:gravite_layout = "start"属性,左侧滑动建议使用start,非left,高度设置为match_parent,宽度视需求而定)

例:

布局文件:

<?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:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:openDrawer="start"
    android:id="@+id/drawerLayout_slide">

    <!-- 主内容视图 -->
    <include layout="@layout/activity_slide_main"/>

    <!-- 左侧滑动视图 -->
    <LinearLayout
        android:id="@+id/linearLayout_left_slide"
        android:layout_gravity="start"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:background="@color/colorPrimary"
        android:orientation="vertical"
        android:padding="@dimen/one_zero_dp">

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/left_icon"
            android:layout_width="@dimen/five_zero_dp"
            android:layout_height="@dimen/five_zero_dp"
            android:src="@mipmap/ic_launcher_round"
            android:layout_gravity="center_horizontal"/>

    </LinearLayout>

</android.support.v4.widget.DrawerLayout>
该布局下即可实现菜单侧滑效果,从左侧边缘向右滑动即可看到滑出的菜单

除此外我们还可以通过点击按钮实现菜单的弹出:

在类文件中设置:

drawerLayout.openDrawer(Gravity.START);
关闭使用:
drawerLayout.closeDrawer(linearLayout_left);

对DrawerLayout的监听可使用

drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
    @Override
    public void onDrawerSlide(View drawerView, float slideOffset) {
        
    }

    @Override
    public void onDrawerOpened(View drawerView) {

    }

    @Override
    public void onDrawerClosed(View drawerView) {

    }

    @Override
    public void onDrawerStateChanged(int newState) {

    }
});
这样你就可以在菜单展开与隐藏发生的时候做一些希望做的事情



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值