fragment可见和不可见的方法

本文介绍了在Android中处理Fragment可见和不可见状态的两种方法:setUserVisibleHint和onHiddenChanged。setUserVisibleHint主要在FragmentPagerAdapter+ViewPager场景下使用,适用于切换页面时的状态更新;而onHiddenChanged则在add()+show(), hide()操作中触发,与onResume()配合,用于控制Fragment的隐藏和显示状态。" 112282147,10538796,AntDesign图片放大效果实现:平滑切换放大镜技巧,"['PPT技巧', '图形设计', '视觉效果', '交互设计', 'Office工具']
摘要由CSDN通过智能技术生成

谷歌为我们提供了setUserVisibleHintonHiddenChanged这两个方法,这两个方法的使用场景是有所不同的!


  • setUserVisibleHint的使用
  • > FragmentPagerAdapter+ViewPager的使用场景

    使用FragmentPagerAdapter+ViewPager时,切换回上一个Fragment页面时(已经初始化完毕),不会回调任何生命周期方法,也不会走onHiddenChanged()方法,所以在viewPage配合fragment搭建页面的情况下,切换页面时候,只能使用setUserVisibleHint方法。

@Override public void setUserVisibleHint ( boolean isVisibleToUser) {

super.setUserVisibleHint(isVisibleToUser);

if (isVisibleToUser) {

// 相当于onResume()方法

}

else { // 相当于onpause()方法 }

}


  • onHiddenChanged的使用
  • 使用add()+show(),hide()跳转新的Fragment时,旧的Fragment回调onHiddenChanged(),不会回调onStop()等生命周期方法,而新的Fragment在创建时是不会回调onHiddenChanged(),所以一般会和onresume()方法配合使用。具体场景自己来判断。

@Override public void onHiddenChanged(boolean hidden) { if (hidden) {

//相当于Fragment的onPause

System.out.println("界面不可见");

} else { // 相当于Fragment的onResume

System.out.println("界面可见"); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值