美文网首页
(笔记)关于app:layout_scrollFlags

(笔记)关于app:layout_scrollFlags

作者: ChanZeeBm | 来源:发表于2017-09-02 17:25 被阅读0次

    分别有5种flag:scroll,enterAlways,enterAlwaysCollapsed,exitUntilCollapsed,snap

    scroll:设定该flag的view随scroll滚动出(进)屏幕,

    • 该flag必须设置,否则直接设置其他无效果。

    • 设置该flag的view前面的view一定要设置该flag,否则无效果。

    • scroll|enterAlways:
      跟只设置scroll的区别是:

    app:layout_scrollFlags="scroll"
    

    向上滚动的时候设置该值的view先出 scrollview再滚动,向下滚动的时候 scrollview先滚动到顶部,该view才进入屏幕。

    app:layout_scrollFlags="scroll|enterAlways"
    

    向上滚动的时候设置该值的view先出 scrollview再滚动,向下滚动的时该view先进屏幕,scrollview再滚动。

    • scroll|enterAlways|enterAlwaysCollapsed:
      多了一个概念:最小高度。
      向上滚动的时候设置该值的view先出 scrollview再滚动;向下滚动的时候该view的最小高度先进屏幕,scrollview再消耗滚动距离,scrollview滚动到最上方的时候,该view剩下的高度再进来。

    比如滚动距离全部是1000,设置该flag的view总高度是300,最小高度是100,向上滚动:view先消耗300,剩下的700 scrollview消耗;向下滚动,首先view消耗100,剩下的scrollview消耗700(假如700就已经到顶部),剩下的200该view消耗。

    PS:只设置scroll|enterAlwaysCollapsed是无效的,我也不知道为啥。

    • scroll|exitUntilCollapsed:
      一样关乎最小高度
      向上滚动的时候,该 view先滚动到最小高度,剩下的scrollview消耗。
      也就是说设置该flag的view不会完全滚出屏幕,而总是把最小高度留在屏幕里,向下滚动的时候view完全进入屏幕,scrollview才开始滚动。

    • scroll|snap:设置该flag的view只会完全退出(进入屏幕),以上几个都是有可能只有一部分退出(进入屏幕)。

    好了,实践出真知。

    相关文章

      网友评论

          本文标题:(笔记)关于app:layout_scrollFlags

          本文链接:https://www.haomeiwen.com/subject/igjrjxtx.html