关于WebView和NestedScrollView奇奇怪怪的问题

时间:2022-06-29 23:29:32

最近新版上线为了实现功能需求,用了CoordinatorLayout和NestedScrollView来做顶部跟随手势的显示和隐藏。当然也被新控件坑了一点点,遇到了下边几个问题。先看下效果图:

关于WebView和NestedScrollView奇奇怪怪的问题

1.NestedScrollView拦截点击事件的问题

NestedScrollView只能是CoordinatorLayout的直接子View,才可以正常起作用。之前嵌套了一层Linearlayout,这样在5.0以上的版本中是没有问题的。但是在4.4以下的版本中会出现两个问题:

  • 顶部作者栏目的点击事件被拦截
  • 顶部下滑的时候,不能再文章中部跟随出现。

2.WebView点击a标签自动向下滑动的问题

如图中,出现问题的时候是,点击完底部标签,不仅会有页面跳转,WebView还会自动向底部滚动一段距离。后来发现在WebView的父布局中添加一句

android:descendantFocusability="blocksDescendants"

让父布局覆盖子类控件而直接获得焦点,就不会有这种情况了。