美文网首页
判断fragment显示和隐藏

判断fragment显示和隐藏

作者: 涛涛123759 | 来源:发表于2019-10-12 13:55 被阅读0次

    一、使用show和hide来显隐的Fragment

    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if(hidden){
            //TODO now visible to user
        } else {
            //TODO now invisible to user
        }
    }
    

    二、在ViewPager中的Fragment

    现在安卓市场上基本上的app都会做tab页,而tab页基本都是通过android自带的ViewPager实现的。ViewPager有这样一个特点,当滑到某一个Tab时,它会同时加载这个tab的左右两个tab页,比如我从1页面切换到了2页面,那么3页面的onResume也被调用了,但是3页面其实对用户是不可见的。这时候我们就需要监听setUserVisibleHint来判断到底对用户是否可见。

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(isVisibleToUser){
            //TODO now it's visible to user
        } else {
            //TODO now it's invisible to user
        }
    }
    

    三、判断Fragment是Visible还是Hidden

    final public boolean isVisible() {
            return isAdded() && !isHidden() && mView != null
                    && mView.getWindowToken() != null && mView.getVisibility() == View.VISIBLE;
        }
    

    相关文章

      网友评论

          本文标题:判断fragment显示和隐藏

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