今天研读了郭霖在CSDN上的文章《Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现》,读完后发现,侧滑效果只对content部分有效,对menu部分无效。只有当用户的手指在content上滑动时,才有侧滑效果。经查找,原来是代码中没有对menu设置onTouchListener。所以,在onCreate函数的最后加入一行代码:"menu.setOnTouchListener(this);",即可实现在menu上滑动。
此外,还有一个问题没有解决。我将布局文件中的父布局由LinearLayout改为RelativeLayout之后,发现在代码"menuParams = (LinearLayout.LayoutParams) menu.getLayoutParams();"会在运行时报错,错误的意思是:“不能讲RelativeLayout的LayoutParams强制转换为LinearLayout的LayoutParams”。我不理解的地方是,我只是将父布局改为RelativeLayout了,menu和content这两个子布局依然还是LinearLayout,为什么不能讲menu.getLayoutParams()的结果强制转换为LinearLayout.LayoutParams,难道menu.getLayoutParams()的结果是RelativeLayout.LayoutParams?我还没有搞清楚,未完待续...