码字辛苦!转载请注明出处!
最近接到了产品一个看似很简单的需求,界面我设计为ScrollView嵌套ViewPager2嵌套Fragment嵌套Expandablelistview来展示,
三下五除二写完,哦豁!
什么破玩意儿,为啥滑不动!
真就码代码一小时,修BUG一整天呗!
我翻了无数的解决方案,找到了勉强能用的重写ScrollView的方法,贴一下,注意这不是最完美的解决办法:
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
虽然说Expandablelistview能滑了,但是在点到Expandablelistview上滑动时,ScrollView它又不行了!
难道就真的没有什么好办法了吗,我前功尽弃的把重写的MyStupidScrollView改回ScrollView时,无意间看到了一个神奇的东西:androidx.core.widget.NestedScrollView
对,真正的解决方案就是它!而且其实谷歌老弟已经帮你解决了,NestedScrollView的特性被应用到了所有的View(从安卓5.0开始)
解决问题:
只需要给你在ScrollView中滑不动的那个控件,加上这行代码就可以了:
recyclerView.setNestedScrollingEnabled(true);
OK,完美解决,想滑哪里滑哪里,So easy!!!
最后是惯例讨钱,先谢过各位老板,祝大家准点下班,升官发财~