Android 抽屉组件DrawerLayout的简单使用

对于点击屏幕上按钮,从屏幕外上下左右划出一个菜单的场景,Android原生的DrawerLayout简单实用,这里记录一下

举例说明,效果如下

Android 抽屉组件DrawerLayout的简单使用_第1张图片



    

    

第一个content_layout是显示布局,第二个layout_menu是菜单布局

这里需要注意一下,可能会出现以下问题

1、菜单布局设置visible gone无效

2、菜单布局点击布局之外不可关闭

跟写法有关,注意看下menu_layout的布局代码



    

    

可以看到

问题1是由于没有写android:layout_gravity="start"导致

问题2是由于没有写 android:focusable="true" android:clickable="true"导致

以上两点需要注意

然后是在Avtivity中的使用,非常的简单

    /**
     * 初始化抽屉组件
     */
    private fun initDrawerLayout() {
        // 禁止手势滑动
        mViewBinding.homeDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
        mViewBinding.homeContentLayout.btnUnitCheck.setOnClickListener {
            mViewBinding.homeDrawerLayout.openDrawer(GravityCompat.START, true)
        }
        mViewBinding.homeMenuLayout.btnMenuClose.setOnClickListener {
            closeDrawer()
        }
    }

    /**
     * 关闭抽屉组件
     */
    private fun closeDrawer() {
        mViewBinding.homeDrawerLayout.closeDrawer(GravityCompat.START, true)
    }

你可能感兴趣的:(Android,android,android,studio,webview)