Skip to content

Commit 608e2d9

Browse files
committed
see 08/07 log
1 parent f36502e commit 608e2d9

File tree

8 files changed

+48
-17
lines changed

8 files changed

+48
-17
lines changed

README-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
4343

44-
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.18.3-brightgreen.svg
44+
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.18.4-brightgreen.svg
4545
[auc]: https://github.com/Blankj/AndroidUtilCode
4646

4747
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ If this project helps you a lot and you want to support the project's developmen
4141

4242
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
4343

44-
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.18.3-brightgreen.svg
44+
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.18.4-brightgreen.svg
4545
[auc]: https://github.com/Blankj/AndroidUtilCode
4646

4747
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg

app/src/main/java/com/blankj/androidutilcode/feature/core/screen/ScreenAdaptActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ public static void start(Context context) {
3636
@Override
3737
public void initData(@Nullable Bundle bundle) {
3838
if (ScreenUtils.isPortrait()) {
39-
ScreenUtils.adaptScreen4VerticalSlide(this, 360);
39+
ScreenUtils.adaptScreen4VerticalSlide(this, 720);
4040
} else {
41-
ScreenUtils.adaptScreen4HorizontalSlide(this, 360);
41+
ScreenUtils.adaptScreen4HorizontalSlide(this, 720);
4242
}
4343
}
4444

config.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ ext {
66
compileSdkVersion: 27,
77
minSdkVersion : 14,
88
targetSdkVersion : 27,
9-
versionCode : 1_018_003,
10-
versionName : '1.18.3'// E.g 1.9.72 => 1,009,072
9+
versionCode : 1_018_004,
10+
versionName : '1.18.4'// E.g 1.9.72 => 1,009,072
1111
]
1212

1313
versionConfig = [
@@ -167,7 +167,7 @@ def configAppDependencies(Project pro) {
167167
// LeakCanary
168168
debugImplementation depConfig.leakcanary.android
169169
releaseImplementation depConfig.leakcanary.android_no_op
170-
// implementation 'com.blankj:utilcode:1.18.3'
170+
// implementation 'com.blankj:utilcode:1.18.4'
171171
}
172172
}
173173

update_log.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* 18/08/07 修复 ScreenUtils#adaptxx 在 API 26 以下无效的 bug,发布 1.18.4
12
* 18/08/06 修复 ScreenUtils#screenShot 中 decorView.getDrawingCache() 为空的问题,发布 1.18.3
23
* 18/08/05 修复 1.18.0 版本删去 `if (activity.getClass() == PermissionUtils.PermissionActivity.class) return;` 造成 PermissionUtils 获取栈顶 Activity 问题,发布 1.18.2
34
* 18/08/04 新增 LogUtils#Config#setSaveDays,发布 1.18.1

utilcode/README-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.18.3'
5+
implementation 'com.blankj:utilcode:1.18.4'
66
```
77

88

utilcode/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.18.3'
5+
implementation 'com.blankj:utilcode:1.18.4'
66
```
77

88

utilcode/src/main/java/com/blankj/utilcode/util/ScreenUtils.java

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.app.Activity;
44
import android.app.KeyguardManager;
5+
import android.content.ComponentCallbacks;
56
import android.content.Context;
67
import android.content.pm.ActivityInfo;
78
import android.content.res.Configuration;
@@ -13,6 +14,7 @@
1314
import android.support.annotation.NonNull;
1415
import android.support.annotation.RequiresPermission;
1516
import android.util.DisplayMetrics;
17+
import android.util.Log;
1618
import android.view.Surface;
1719
import android.view.View;
1820
import android.view.Window;
@@ -303,7 +305,7 @@ public static boolean isTablet() {
303305
* the designWidthInDp = 720 / 2.
304306
*/
305307
public static void adaptScreen4VerticalSlide(final Activity activity,
306-
final int designWidthInDp) {
308+
final float designWidthInDp) {
307309
adaptScreen(activity, designWidthInDp, true);
308310
}
309311

@@ -315,7 +317,7 @@ public static void adaptScreen4VerticalSlide(final Activity activity,
315317
* the designHeightInDp = 1080 / 3.
316318
*/
317319
public static void adaptScreen4HorizontalSlide(final Activity activity,
318-
final int designHeightInDp) {
320+
final float designHeightInDp) {
319321
adaptScreen(activity, designHeightInDp, false);
320322
}
321323

@@ -325,27 +327,55 @@ public static void adaptScreen4HorizontalSlide(final Activity activity,
325327
* @param activity The activity.
326328
*/
327329
public static void cancelAdaptScreen(final Activity activity) {
328-
final DisplayMetrics appDm = Utils.getApp().getResources().getDisplayMetrics();
329330
final DisplayMetrics activityDm = activity.getResources().getDisplayMetrics();
330-
activityDm.density = appDm.density;
331-
activityDm.scaledDensity = appDm.scaledDensity;
332-
activityDm.densityDpi = appDm.densityDpi;
331+
if (UDM.densityDpi != -1) {
332+
activityDm.density = UDM.density;
333+
activityDm.scaledDensity = UDM.scaledDensity;
334+
activityDm.densityDpi = UDM.densityDpi;
335+
} else {
336+
Log.i("ScreenUtils", "U should adapt screen first.");
337+
}
333338
}
334339

340+
335341
/**
336342
* Reference from: https://mp.weixin.qq.com/s/d9QCoBP6kV9VSWvVldVVwA
337343
*/
338344
private static void adaptScreen(final Activity activity,
339345
final float sizeInDp,
340346
final boolean isVerticalSlide) {
341-
final DisplayMetrics appDm = Utils.getApp().getResources().getDisplayMetrics();
342347
final DisplayMetrics activityDm = activity.getResources().getDisplayMetrics();
348+
if (UDM.densityDpi == -1) {
349+
UDM.density = activityDm.density;
350+
UDM.scaledDensity = activityDm.scaledDensity;
351+
UDM.densityDpi = activityDm.densityDpi;
352+
Utils.getApp().registerComponentCallbacks(new ComponentCallbacks() {
353+
@Override
354+
public void onConfigurationChanged(Configuration newConfig) {
355+
if (newConfig != null && newConfig.fontScale > 0) {
356+
UDM.scaledDensity =
357+
Utils.getApp().getResources().getDisplayMetrics().scaledDensity;
358+
}
359+
}
360+
361+
@Override
362+
public void onLowMemory() {/**/}
363+
});
364+
}
343365
if (isVerticalSlide) {
344366
activityDm.density = activityDm.widthPixels / sizeInDp;
345367
} else {
346368
activityDm.density = activityDm.heightPixels / sizeInDp;
347369
}
348-
activityDm.scaledDensity = activityDm.density * (appDm.scaledDensity / appDm.density);
370+
activityDm.scaledDensity = activityDm.density * (UDM.scaledDensity / UDM.density);
349371
activityDm.densityDpi = (int) (160 * activityDm.density);
350372
}
373+
374+
private static final UtilDisplayMetrics UDM = new UtilDisplayMetrics();
375+
376+
private static class UtilDisplayMetrics {
377+
float density;
378+
float scaledDensity;
379+
int densityDpi = -1;
380+
}
351381
}

0 commit comments

Comments
 (0)