diff --git a/config.gradle b/config.gradle index c06741f482..8e87d93844 100644 --- a/config.gradle +++ b/config.gradle @@ -241,7 +241,10 @@ ext { //========================= LancetX =================== - lancetx_runtime : "io.github.knight-zxw:lancet-runtime:0.0.1" + lancetx_runtime : "io.github.knight-zxw:lancet-runtime:0.0.1", + + //========================= autosize ====================== + androidautoSize : 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1', ] android = [ launcherApplicationId : "com.mogo.launcher", @@ -258,6 +261,7 @@ ext { targetSdkVersion : 21, minSdkVersionPadLenovo : 23, targetSdkVersionPadLenovo : 23, + koomxhook : "com.kuaishou.koom:xhook-static:2.2.0", ] } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index deb9940ad2..4a1fb8f77c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -54,6 +54,8 @@ import java.util.Set; import java.util.Timer; import java.util.TimerTask; +import me.jessyan.autosize.utils.AutoSizeUtils; + /** * 针对作为Launcher的情况,做个性化操作 * @@ -116,7 +118,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { FrameLayout frameLayout = findViewById(R.id.module_main_id_map_fragment_container); - frameLayout.setPadding(0, 0, 700, 0); + frameLayout.setPadding(0, 0, AutoSizeUtils.dp2px(getContext(),700), 0); } } diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle index 4cb6b8a10e..585c2ce5e7 100644 --- a/foudations/mogo-commons/build.gradle +++ b/foudations/mogo-commons/build.gradle @@ -63,6 +63,7 @@ dependencies { } api 'org.greenrobot:eventbus:3.1.1' + api rootProject.ext.dependencies.androidautoSize } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index f8a0228209..e848e6fc80 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -10,6 +10,7 @@ import android.widget.ImageView; import android.widget.TextView; import com.mogo.commons.crash.FinalizeCrashFixer; +import com.mogo.commons.screen.ScreenHelper; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.toast.TipDrawable; import com.mogo.eagle.core.utilcode.mogo.toast.TipToast; @@ -40,6 +41,7 @@ public abstract class AbsMogoApplication extends Application { AppStateManager.INSTANCE.init(this); initRxJavaErrorHandler(); FinalizeCrashFixer.fix(); + ScreenHelper.setScreenConfig(this); Utils.init(this); } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java index 8015fc5637..a4dc498f2c 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpActivity.java @@ -1,6 +1,8 @@ package com.mogo.commons.mvp; import android.content.Context; +import android.content.res.Configuration; +import android.content.res.Resources; import android.os.Bundle; import android.view.MotionEvent; @@ -11,13 +13,16 @@ import androidx.appcompat.app.AppCompatActivity; import com.mogo.eagle.core.utilcode.util.BarUtils; import com.mogo.eagle.core.utilcode.util.SoftKeyBoardJobber; +import me.jessyan.autosize.AutoSizeCompat; +import me.jessyan.autosize.internal.CancelAdapt; + /** * @author congtaowang * @since 2019-12-23 *

* mvp 的 activity */ -public abstract class MvpActivity> extends AppCompatActivity implements IView { +public abstract class MvpActivity> extends AppCompatActivity implements IView, CancelAdapt { protected static final String TAG = "MvpActivity"; @@ -98,4 +103,13 @@ public abstract class MvpActivity> exten mPresenter = null; } + @Override + public Resources getResources() { + Resources resources = super.getResources(); + Configuration configuration = resources.getConfiguration(); + resources.updateConfiguration(configuration, resources.getDisplayMetrics()); + AutoSizeCompat.autoConvertDensityOfGlobal(resources); + return resources; + } + } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/screen/ScreenHelper.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/screen/ScreenHelper.java new file mode 100644 index 0000000000..9b375a9143 --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/screen/ScreenHelper.java @@ -0,0 +1,19 @@ +package com.mogo.commons.screen; +import android.content.Context; + + +import me.jessyan.autosize.AutoSizeConfig; + +public class ScreenHelper { + + /** + * 正常屏幕和长屏分辨设置 + */ + public static void setScreenConfig(Context context) { + AutoSizeConfig.getInstance() + .setBaseOnWidth(false) + .setCustomFragment(true) + .setDesignWidthInDp(2560) + .setDesignHeightInDp(1600); + } +}