Skip to content

Commit cd0a84c

Browse files
committed
Fix screenOrientation change
1 parent e16deec commit cd0a84c

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,12 @@ public static void autoConvertDensityBaseOnHeight(Activity activity, float desig
142142
public static void autoConvertDensity(Activity activity, float sizeInDp, boolean isBaseOnWidth) {
143143
Preconditions.checkNotNull(activity, "activity == null");
144144

145+
int screenSize = isBaseOnWidth ? AutoSizeConfig.getInstance().getScreenWidth()
146+
: AutoSizeConfig.getInstance().getScreenHeight();
145147
String key = sizeInDp + "|" + isBaseOnWidth + "|"
146148
+ AutoSizeConfig.getInstance().isUseDeviceSize() + "|"
147-
+ AutoSizeConfig.getInstance().getInitScaledDensity();
149+
+ AutoSizeConfig.getInstance().getInitScaledDensity() + "|"
150+
+ screenSize;
148151

149152
DisplayMetricsInfo displayMetricsInfo = mCache.get(key);
150153

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,15 @@ AutoSizeConfig init(final Application application, boolean isBaseOnWidth, AutoAd
170170
application.registerComponentCallbacks(new ComponentCallbacks() {
171171
@Override
172172
public void onConfigurationChanged(Configuration newConfig) {
173-
if (newConfig != null && newConfig.fontScale > 0) {
174-
mInitScaledDensity =
175-
Resources.getSystem().getDisplayMetrics().scaledDensity;
176-
LogUtils.d("initScaledDensity = " + mInitScaledDensity + " on ConfigurationChanged");
173+
if (newConfig != null) {
174+
if (newConfig.fontScale > 0) {
175+
mInitScaledDensity =
176+
Resources.getSystem().getDisplayMetrics().scaledDensity;
177+
LogUtils.d("initScaledDensity = " + mInitScaledDensity + " on ConfigurationChanged");
178+
}
179+
int[] screenSize = ScreenUtils.getScreenSize(application);
180+
mScreenWidth = screenSize[0];
181+
mScreenHeight = screenSize[1];
177182
}
178183
}
179184

0 commit comments

Comments
 (0)