android收集Android开发经验谈Android技术知识

解决一个问题,ScrollView嵌套RecyvlerView

2018-03-01  本文已影响96人  Ricco_F
转载请注明原创出处,谢谢!

首先我要感谢这篇文章

ps:最近在新项目中遇到了一个问题,一个ScrollView嵌套要嵌套多个RecyclerView。如效果图。当我没开始写的时候就考虑到了Item显示不全和滑动事件的问题。所有我开始查资料解决,虽然很快就解决了,但是踩了一个大坑,所有把他分享给其他正在由此问题的程序员们。

效果图.png

网上很多技术文章给出的方案是用自定义类FullyLinearLayoutManager解决问题,这个方案虽然最后解决了问题,但是滑动流畅度被改变了,像得了老年痴呆一样慢,这是我的App绝对不能忍受的。

幸运的是我又在网上查到了新的解决方案,也就是我开篇感谢的那篇文章,而且这个方案也被很多人使用,但是这个方案被那个像老年痴呆一样慢的文章给否决了,原因是没有完美解决。好玩的是,在我的app中,嵌套问题被完美解决。。。

我知道很多人的懒的点击我推荐的解决方案,使用我就把他拷贝一下,然后加点东西,做个小笔记,记录一下。

作者给出的方案是

在xml布局文件中将ScrollView替换android.support.v4.widget.NestedScrollView,并在java代码中设置recyclerView.setNestedScrollingEnabled(false);属性。

在MD中,RecyclerView代替了ListView,而NestedScrollView代替了ScrollView,就这么简单。Nested就是嵌套的意思。

NestedScrollView

翻译:NestedScrollView就像ScrollView,但它支持代理。作为一个嵌套的滚动父和子,在新版本和旧版本的Android。默认情况下启用了嵌套滚动。

小计

如果只使用NestedScrollView替换了ScrollView,而不在java代码中设置recyclerView.setNestedScrollingEnabled(false);属性。那么你的App滑动流畅度就像得了老年痴呆一样,和自定义FullyLinearLayoutManager解决方案的滑动流畅度有的一拼。

上一篇下一篇

猜你喜欢

热点阅读