1818import android .app .Activity ;
1919import android .app .Application ;
2020import android .os .Bundle ;
21+ import android .support .v4 .app .Fragment ;
22+ import android .support .v4 .app .FragmentActivity ;
2123
2224/**
2325 * ================================================
@@ -34,16 +36,27 @@ public class ActivityLifecycleCallbacksImpl implements Application.ActivityLifec
3436 * 屏幕适配逻辑策略类
3537 */
3638 private AutoAdaptStrategy mAutoAdaptStrategy ;
39+ /**
40+ * 让 {@link Fragment} 支持自定义适配参数
41+ */
42+ private FragmentLifecycleCallbacksImpl mFragmentLifecycleCallbacks ;
3743
3844 public ActivityLifecycleCallbacksImpl (AutoAdaptStrategy autoAdaptStrategy ) {
39- setAutoAdaptStrategy (autoAdaptStrategy );
45+ mFragmentLifecycleCallbacks = new FragmentLifecycleCallbacksImpl (autoAdaptStrategy );
46+ mAutoAdaptStrategy = autoAdaptStrategy ;
4047 }
4148
4249 @ Override
4350 public void onActivityCreated (Activity activity , Bundle savedInstanceState ) {
51+ if (AutoSizeConfig .getInstance ().isCustomFragment ()) {
52+ if (activity instanceof FragmentActivity ) {
53+ ((FragmentActivity ) activity ).getSupportFragmentManager ().registerFragmentLifecycleCallbacks (mFragmentLifecycleCallbacks , true );
54+ }
55+ }
56+
4457 //Activity 中的 setContentView(View) 一定要在 super.onCreate(Bundle); 之后执行
4558 if (mAutoAdaptStrategy != null ) {
46- mAutoAdaptStrategy .applyAdapt (activity );
59+ mAutoAdaptStrategy .applyAdapt (activity , activity );
4760 }
4861 }
4962
@@ -84,5 +97,6 @@ public void onActivityDestroyed(Activity activity) {
8497 */
8598 public void setAutoAdaptStrategy (AutoAdaptStrategy autoAdaptStrategy ) {
8699 mAutoAdaptStrategy = autoAdaptStrategy ;
100+ mFragmentLifecycleCallbacks .setAutoAdaptStrategy (autoAdaptStrategy );
87101 }
88102}
0 commit comments