安卓侧滑栏划过后留下黑色背景的bug

时间:2021-09-04 16:47:04

在侧滑菜单的项目编辑中,遇到了一个神奇的bug,别人家的侧滑菜单好好的而我我的侧滑菜单menu界面划过后却暴露出许多bug;

1,首先是menu菜单界面滑动与content界面滑动不同步的问题,具体描述为每当你滑动menu菜单时,本来content界面应该被menu菜单“挤”到屏幕外,但事实是menu菜单只是将content界面“覆盖”;

2,当左右滑动menu菜单后,发现menu菜单虽然正藏隐藏在屏幕外,但是在他滑动过之后的区域,留下了黑的的背景带,黑色背景带的大小恰巧等于menu菜单界面的大小。

3,运行app时一系列的报错,错误信息主要集中在LayoutParams,包括menu,content菜单的声明。layout的cast类型转化等;


究其真正原因,是因为我们的xml布局文件的布局问题,首先, LayoutParams的默认属性是linearlayout,因为只有linear的默认属性有orientation的设定。orientation不仅要设置,而且要根据滑动侧边栏的滑动方向设定,比如你要进行左右滑动,那么xml文件中承装menu的layout和content的layout的orientation属性一定要设置为水平horizontal;其次,menu和content控件的声明一定要用lineatlayout。

意识到这两点,此坑可平。