Android SlidingDrawer左侧抽屉菜单

从左侧拉出的抽屉式菜单,用起来还是挺方便的,尤其是在一些老项目里,想简单加个侧滑功能又不想升级太多组件时,用 SlidingDrawer 其实还挺省事的。

SlidingDrawer 是 Android 早期用来做抽屉效果的控件,虽然现在已经被官方弃用了,但在老系统或者特殊场景下还能派上用场。比如在一个旧项目里加个菜单,不升级 Support Library,就它最合适。

用法也不复杂,你只要在 XML 里写个 SlidingDrawer,设置好 handlecontent,加点逻辑控制开关就行:

你在 Java 里加点事件监听就能控制它开合了:

SlidingDrawer drawer = findViewById(R.id.drawer);
drawer.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // 手势逻辑
        return false;
    }
});

它还有 open()close() 方法可以手动控制,isOpened() 判断当前状态也挺方便。动画方面,默认滑动动画够用,但你要是想调节速度,还可以自己传个 Interpolator

啦,SlidingDrawer 已经从 API 17 开始被弃用了,官方现在推荐的是 DrawerLayout 搭配 NavigationView,更现代、功能也强,兼容 Material Design

不过如果你现在是要改一个老项目,或者就是想了解老技术是怎么实现抽屉效果的,那这个案例项目 SlidingDrawFromLeft 还是挺有参考价值的。代码清晰,逻辑也简单,学起来没啥负担。

如果你现在做新项目,还是建议直接上 DrawerLayout + NavigationView,用法更现代,维护起来也更轻松。

rar 文件大小:100.5KB