From 1031d8ff13382be5d7e6b61bdb9cecf19912e476 Mon Sep 17 00:00:00 2001 From: zhangmengxiong Date: Thu, 23 Jun 2022 17:33:01 +0800 Subject: [PATCH 1/8] 6 --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 66e99e0..3377609 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' + classpath 'com.android.tools.build:gradle:7.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cc15de8..b891b8a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Aug 09 13:56:32 CST 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME -- Gitee From 9aadc44414efc0fde2d740d52f879b785d516751 Mon Sep 17 00:00:00 2001 From: zhangmengxiong Date: Tue, 26 Jul 2022 16:53:59 +0800 Subject: [PATCH 2/8] 666 --- .../java/com/mx/dialog/base/MXBaseDialog.kt | 53 +++++++++++++----- LibDialog/src/main/res/values/styles.xml | 6 --- app/build.gradle | 12 +++-- .../main/java/com/mx/example/MainActivity.kt | 54 ++++++++++++++++--- 4 files changed, 94 insertions(+), 31 deletions(-) diff --git a/LibDialog/src/main/java/com/mx/dialog/base/MXBaseDialog.kt b/LibDialog/src/main/java/com/mx/dialog/base/MXBaseDialog.kt index bb8860b..1616ab8 100644 --- a/LibDialog/src/main/java/com/mx/dialog/base/MXBaseDialog.kt +++ b/LibDialog/src/main/java/com/mx/dialog/base/MXBaseDialog.kt @@ -3,12 +3,18 @@ package com.mx.dialog.base import android.app.Dialog import android.content.Context import android.content.DialogInterface +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Build import android.os.Bundle +import android.view.View +import android.view.Window import android.view.WindowManager import android.view.inputmethod.InputMethodManager import android.widget.EditText import com.mx.dialog.R import com.mx.dialog.utils.MXDialogDelay +import com.mx.dialog.utils.MXUtils /** * 所有Dialog的基类 @@ -18,8 +24,10 @@ import com.mx.dialog.utils.MXDialogDelay * 4:统一OnCancel监听、统一返回按键处理 * 5:设置弹窗延时消失 */ -open class MXBaseDialog(context: Context, private val fullScreen: Boolean = false) : - Dialog(context, if (fullScreen) R.style.MXDialog_FullScreen else R.style.MXDialog_Base) { +open class MXBaseDialog( + private val parentContext: Context, + private val fullScreen: Boolean = false +) : Dialog(parentContext, R.style.MXDialog_Base) { fun isFullScreen() = fullScreen private val dialogDelay = MXDialogDelay() @@ -38,17 +46,7 @@ open class MXBaseDialog(context: Context, private val fullScreen: Boolean = fals override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - window?.let { window -> - window.decorView.setPadding(0, 0, 0, 0) - window.attributes.let { lp -> - lp.y = 0 - lp.width = WindowManager.LayoutParams.MATCH_PARENT - lp.height = WindowManager.LayoutParams.MATCH_PARENT - window.attributes = lp - } - - window.setWindowAnimations(R.style.mx_dialog_animation) - } + window?.let { initWindow(it) } dialogDelay.setTicketCall { finish, maxSecond, remindSecond -> if (finish) { onDismissTicketEnd() @@ -58,6 +56,35 @@ open class MXBaseDialog(context: Context, private val fullScreen: Boolean = fals } } + open fun initWindow(window: Window) { + window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + window.statusBarColor = Color.TRANSPARENT + window.navigationBarColor = Color.TRANSPARENT + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + window.navigationBarDividerColor = Color.TRANSPARENT + } + + window.setType(WindowManager.LayoutParams.TYPE_APPLICATION_PANEL) + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setPadding(0, 0, 0, 0) + + window.attributes.let { lp -> + lp.y = 0 + lp.width = WindowManager.LayoutParams.MATCH_PARENT + lp.height = WindowManager.LayoutParams.MATCH_PARENT + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + lp.layoutInDisplayCutoutMode = + WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES + } + window.attributes = lp + } + + window.setWindowAnimations(R.style.mx_dialog_animation) + } + override fun onStart() { super.onStart() dialogDelay.start() diff --git a/LibDialog/src/main/res/values/styles.xml b/LibDialog/src/main/res/values/styles.xml index e51c306..1889c5d 100644 --- a/LibDialog/src/main/res/values/styles.xml +++ b/LibDialog/src/main/res/values/styles.xml @@ -5,18 +5,12 @@ @null true false - false true @android:color/transparent @android:color/transparent false - - -