Fragment

生命周期

这里写图片描述

如果当前Activity正在运行,当Fragment被添加到Activity后,就会依次调用以下生命周期回调:

  1. onAttach():当Fragment首次依附在某个Context时调用。

  2. onCreate():做一些初始化动作,注意这个回调可能在对应Activity的视图层级还在创建的时候调用。

  3. onCreateView():用来初始化Fragment的界面,如果这个Fragment没有界面,直接返回null即可。

  4. onActivityCreated():在对应Activity已经创建以及该Fragment的界面初始化完毕之后调用。

  5. onStart():当Fragment可见的时候调用,通常与对应Activity的onStart()绑定。

  6. onResume():当Fragment对用户可见并且正在运行的时候调用,通常与对应Activity的onResume()绑定。

  7. onPause():当Fragment不处于resumed状态的时候调用,通常与对应Activity的onPause()绑定。

  8. onStop():当Fragment不处于started状态的时候调用,通常与对应Activity的onStop()绑定。

  9. onDestroyView():当onCreateView()返回的View从Fragment上分离出来的时候调用,如果之后Fragment又需要显示,会再去调用onCreateView()。不管onCreateView()有没有返回非空View,总是会回调这个方法。

  10. onDestroy():当不需要再用Fragment的时候调用。

  11. onDetach():当Fragment脱离Activity的时候调用。

与Activity的生命周期相比,Fragment的生命周期整体来看:
首先是一个依附与脱离Activity的过程:onAttach()和onDetach()。
然后是创建与销毁的过程:onCreate()和onDestroy()。
接下来是视图创建的过程:onCreateView()和onDestroyView()。
onCreateView()后有个onActivityCreate()回调。
中间阶段则是类似Activity的onStart()-onResume()-onPause()-onStop()。

转场动画

Fragment自定义转场动画:

  mFragmentManager.beginTransaction()
            .setCustomAnimations(R.anim.scale_in, R.anim.alpha_out)
            .replace(R.id.container, fragment).commit();

缩放进入scale_in

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
       android:duration="600"
       android:fromXScale="1"
       android:fromYScale="0"
       android:toXScale="1"
       android:toYScale="1">
</scale>

淡出alpha_out

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:duration="200"
       android:fromAlpha="1"
       android:toAlpha="0">

</alpha>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值