自己在做项目的时候,需要用的DrawerLayout。但是并不想让它用滑动来实现打开和关闭,而是需要按照自己的要求来实现抽屉的打开和关闭。便对DrawerLayout做了相对的了解。
首先,需要使用DrawerLayout便需要导入design包。
在布局文件中通过对布局属性layout_gravity的设置来实现抽屉的位置。正常情况下我们做了简单的xml布局后通过侧滑便可以打开或关闭相应的抽屉。
对于抽屉的关闭和打开方式主要是通过:
dl.setDrawerLockMode(参数);来实现这里的参数有四个分别是:
dl.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);这里官方给出是注释是:The drawer is unlocked.设置这个抽屉是没有锁的,和下面的默认未定义是同样的效果。
dl.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNDEFINED);
dl.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);这个参数官方给出的注释是:The drawer is locked closed. The user may not open it, though the app may open it programmatically.大概意思就是抽屉锁是关闭的,用户不能打开它,但是可以通过代码的方式来打开它。
这个参数是默认抽屉是关闭的,并且不能通过滑动的方式讲抽屉打开或者关闭。但是可以通过代码的方式来实现抽屉的关闭和打开。(这里有个小问题需要注意,因为抽屉在打开的时候不是占满整个屏幕的,所以我们可以在抽屉没有覆盖的地方点击到抽屉下面的activity或者fragment,若点击到的话 抽屉就会关闭)
dl.setDrawerLockMode(DrawerLayout.