美文网首页
Fragment可见性的判断-——-getUserVisible

Fragment可见性的判断-——-getUserVisible

作者: 胖瘦馒头 | 来源:发表于2018-07-16 21:24 被阅读0次

    isVisible: 是关联与fragment生命周期的可见性的判断
    User Visible Hint: 当fragment的可见性与其生命周期没有关系的时候,来进行对于可见性的判断

    在使用viewPager进行添加若干fragment的时候,当parentActivity进行onStart()的时候,里面所有的fragment都会进行onStart(),即只要在Parent的可见状态之中,内部的所有的fragmentisVisible()都是true,所以在viewPager的时候,是根据当前的fragment是否被选中去判断其的显示与隐藏,而当前这个fragment是否被选中的标志在ViewPager中就是UserVisibleHint的值。

    isVisible() 是使用FragmentManager进行管理,是对于当前fragment是否对用户“可见”的判定方式。这里的“可见”是指在onStart()onStop()之间。
    调用FragmentManager.beginTransaction().add/remove/replace()等相关方法,会导致Fragment被添加和移除,从而改变isVisible()的返回值

    setUserVisibleHint(boolean isVisibleToUser) 是当使用viewPager去管理若干fragment的时候进行对于某fragment在显示跟隐藏的时候回调的方法
    setUserVisibleHint()从名字来看是给使用Fragment的模块来调用的,app也可以调用这个方法。

    void setUserVisibleHint (boolean isVisibleToUser)

    Set a hint to the system about whether this fragment's UI is currently visible to the user. This hint defaults to true and is persistent across fragment instance state save and restore.
    An app may set this to false to indicate that the fragment's UI is scrolled out of visibility or is otherwise not directly visible to the user. This may be used by the system to prioritize operations such as fragment lifecycle updates or loader ordering behavior.
    Note: This method may be called outside of the fragment lifecycle. and thus has no ordering guarantees with regard to fragment lifecycle method calls.

    相关文章

      网友评论

          本文标题:Fragment可见性的判断-——-getUserVisible

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