Skip to content

Commit e9ad609

Browse files
committed
Improve ActivityLifecycleCallbacksImpl
1 parent f25036d commit e9ad609

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

autosize/src/main/java/me/jessyan/autosize/ActivityLifecycleCallbacksImpl.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import android.app.Activity;
1919
import android.app.Application;
2020
import 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

Comments
 (0)