diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt deleted file mode 100644 index a7736ed..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Rect -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : - RecyclerView.ItemDecoration() { - - //设置Item间的间隔 - override fun getItemOffsets( - outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - outRect.top = topMargin - outRect.bottom = bottomMargin - } -} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt deleted file mode 100644 index a7736ed..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Rect -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : - RecyclerView.ItemDecoration() { - - //设置Item间的间隔 - override fun getItemOffsets( - outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - outRect.top = topMargin - outRect.bottom = bottomMargin - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index e38a913..930e157 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -9,13 +9,13 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo @@ -174,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt deleted file mode 100644 index a7736ed..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Rect -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : - RecyclerView.ItemDecoration() { - - //设置Item间的间隔 - override fun getItemOffsets( - outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - outRect.top = topMargin - outRect.bottom = bottomMargin - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index e38a913..930e157 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -9,13 +9,13 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo @@ -174,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index daa2ff9..089066a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,7 +18,10 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.* +import com.casic.xz.meterage.utils.FileType +import com.casic.xz.meterage.utils.GlideLoadEngine +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -30,6 +33,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt deleted file mode 100644 index a7736ed..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Rect -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : - RecyclerView.ItemDecoration() { - - //设置Item间的间隔 - override fun getItemOffsets( - outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - outRect.top = topMargin - outRect.bottom = bottomMargin - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index e38a913..930e157 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -9,13 +9,13 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo @@ -174,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index daa2ff9..089066a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,7 +18,10 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.* +import com.casic.xz.meterage.utils.FileType +import com.casic.xz.meterage.utils.GlideLoadEngine +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -30,6 +33,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index 08d35d9..b7f6e36 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -11,12 +11,12 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show @@ -179,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/build.gradle b/app/build.gradle index 9ef0da7..246130f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ dependencies { //基础依赖库 - implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.1' + implementation 'com.github.AndroidCoderPeng:Kotlin-lite-lib:1.0.4.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.9.0' //Google官方授权框架 diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 883a51e..e126d72 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,40 +1,17 @@ package com.casic.xz.meterage.extensions import android.content.Context -import android.os.Build -import android.util.Log import android.view.ViewGroup -import android.view.WindowInsets -import android.view.WindowManager import com.casic.xz.meterage.utils.LocaleConstant import com.pengxh.kt.lite.extensions.convertColor -import com.qmuiteam.qmui.util.QMUIDisplayHelper +import com.pengxh.kt.lite.extensions.getStatusBarHeight import kotlin.random.Random /** - * 获取状态栏高度,兼容Android 11+ - * */ -fun Context.getStatusBarHeight(): Int { - val statusBarHeight = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - val windowManager = this.getSystemService(Context.WINDOW_SERVICE) as WindowManager - val windowMetrics = windowManager.currentWindowMetrics - val windowInsets = windowMetrics.windowInsets - - val type = WindowInsets.Type.navigationBars() or WindowInsets.Type.displayCutout() - val insets = windowInsets.getInsetsIgnoringVisibility(type) - insets.top - } else { - QMUIDisplayHelper.getStatusBarHeight(this) - } - Log.d("kTag", "getStatusBarHeight => $statusBarHeight") - return statusBarHeight -} - -/** * 设置沉浸式状态栏,兼容Android 11+ * */ fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - rootView.setPadding(0, getStatusBarHeight(), 0, 0) + rootView.setPadding(0, this.getStatusBarHeight(), 0, 0) rootView.requestLayout() } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt index f48b04b..f3efbee 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/DetectionPageFragment.kt @@ -5,13 +5,13 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.detection.AwaitDetectionFragment import com.casic.xz.meterage.fragment.detection.CompletedDetectionFragment import com.casic.xz.meterage.fragment.detection.UnderDetectionFragment import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.DetectionViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_detection.* import kotlinx.android.synthetic.main.include_detection_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt index 73966f0..37e76db 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/HomePageFragment.kt @@ -13,7 +13,6 @@ import com.casic.xz.meterage.base.BaseApplication import com.casic.xz.meterage.extensions.diffCurrentTime import com.casic.xz.meterage.extensions.formatToDate -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.NoticeListModel import com.casic.xz.meterage.model.RemindListModel @@ -28,10 +27,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.setAnimation -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState import com.pengxh.kt.lite.widget.dialog.AlertControlDialog diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt index fc950e1..c2d1cd8 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/MinePageFragment.kt @@ -10,7 +10,6 @@ import com.casic.xz.meterage.callback.OnImageCompressListener import com.casic.xz.meterage.extensions.combineImagePath import com.casic.xz.meterage.extensions.compressImage -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.extensions.reformat import com.casic.xz.meterage.model.UserInfoModel import com.casic.xz.meterage.utils.FileType @@ -30,6 +29,7 @@ import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.SaveKeyValues diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt index e683aed..de8462b 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/TaskPageFragment.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider import com.casic.xz.meterage.R import com.casic.xz.meterage.adapter.SubViewPagerAdapter -import com.casic.xz.meterage.extensions.getStatusBarHeight import com.casic.xz.meterage.fragment.task.AwaitTaskFragment import com.casic.xz.meterage.fragment.task.CompletedTaskFragment import com.casic.xz.meterage.fragment.task.OvertimeTaskFragment @@ -13,6 +12,7 @@ import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.TaskViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.extensions.getStatusBarHeight import com.pengxh.kt.lite.utils.WeakReferenceHandler import kotlinx.android.synthetic.main.fragment_task.* import kotlinx.android.synthetic.main.include_task_top_layout.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt index 7dccf6d..6d6219c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/CertificateFragment.kt @@ -6,11 +6,11 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CertificateRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -126,7 +126,7 @@ } } certificateRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) certificateRecyclerView.adapter = certificateAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt index 68e1b85..e7238f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/PersonnelFragment.kt @@ -4,10 +4,10 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.CustomerDetailModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_customer_personnel.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -49,7 +49,7 @@ } } customPersonRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) customPersonRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt index 23fcd7f..ca8afba 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/customer/SampleRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.R import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.SampleRecordsModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.CustomerViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -124,7 +124,7 @@ } } sampleRecordsRecyclerView.addItemDecoration( - DividerItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(45f.dp2px(requireContext()).toFloat(), 0f) ) sampleRecordsRecyclerView.adapter = sampleRecordsAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt index 16deeb5..592ce6c 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/entrust/BasicInformationFragment.kt @@ -9,9 +9,9 @@ import com.casic.xz.meterage.extensions.formatToYearMonthDay import com.casic.xz.meterage.extensions.watchAttachFile import com.casic.xz.meterage.model.EntrustDetailModel -import com.casic.xz.meterage.utils.VerticalMarginItemDecoration import com.casic.xz.meterage.vm.ConfigViewModel import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_entrust_base_info.* diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt index d346545..69b6bbf 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/StateChangeLogFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentStateChangeModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_state_change_log.* @@ -63,7 +63,7 @@ } } stateLogRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) stateLogRecyclerView.adapter = stateLogAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt index c3f6cae..fe5f7f5 100644 --- a/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt +++ b/app/src/main/java/com/casic/xz/meterage/fragment/equipment/UsageRecordFragment.kt @@ -5,11 +5,11 @@ import com.casic.xz.meterage.extensions.generateColor import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.model.EquipmentUsageRecordModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.vm.EquipmentViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.dp2px import kotlinx.android.synthetic.main.fragment_equipment_usage_record.* import kotlinx.android.synthetic.main.include_empty_view.* @@ -64,7 +64,7 @@ } } usageRecordRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) + ItemDecoration(70f.dp2px(requireContext()).toFloat(), 0f) ) usageRecordRecyclerView.adapter = usageRecordAdapter } diff --git a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt deleted file mode 100644 index 8760100..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/DividerItemDecoration.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class DividerItemDecoration(private val leftMargin: Float, private val rightMargin: Float) : - RecyclerView.ItemDecoration() { - - private val bottomLinePaint by lazy { Paint() } - - init { - bottomLinePaint.isAntiAlias = true - bottomLinePaint.color = Color.LTGRAY - } - - //画分割线 - override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) { - val childCount: Int = parent.childCount - for (i in 0 until childCount) { - val view: View = parent.getChildAt(i) - c.drawRect( - leftMargin, - view.bottom.toFloat(), - parent.width.toFloat() - rightMargin, - (view.bottom + 1).toFloat(), - bottomLinePaint - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt b/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt deleted file mode 100644 index a7736ed..0000000 --- a/app/src/main/java/com/casic/xz/meterage/utils/VerticalMarginItemDecoration.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.casic.xz.meterage.utils - -import android.graphics.Rect -import android.view.View -import androidx.recyclerview.widget.RecyclerView - -class VerticalMarginItemDecoration(private val topMargin: Int, private val bottomMargin: Int) : - RecyclerView.ItemDecoration() { - - //设置Item间的间隔 - override fun getItemOffsets( - outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - outRect.top = topMargin - outRect.bottom = bottomMargin - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt index e38a913..930e157 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/CustomerActivity.kt @@ -9,13 +9,13 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.view.search.SearchCustomerActivity import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo @@ -174,7 +174,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) customerRecyclerView.adapter = customerAdapter customerAdapter.setOnItemClickedListener(object : diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt index daa2ff9..089066a 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/EntrustAddActivity.kt @@ -18,7 +18,10 @@ import com.casic.xz.meterage.extensions.* import com.casic.xz.meterage.model.EntrustDetailModel import com.casic.xz.meterage.model.SampleListModel -import com.casic.xz.meterage.utils.* +import com.casic.xz.meterage.utils.FileType +import com.casic.xz.meterage.utils.GlideLoadEngine +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.utils.LocaleConstant import com.casic.xz.meterage.vm.ConfigViewModel import com.casic.xz.meterage.vm.EntrustViewModel import com.casic.xz.meterage.vm.FileViewModel @@ -30,6 +33,7 @@ import com.luck.picture.lib.config.SelectMimeType import com.luck.picture.lib.entity.LocalMedia import com.luck.picture.lib.interfaces.OnResultCallbackListener +import com.pengxh.kt.lite.divider.VerticalMarginItemDecoration import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.realFilePath diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt index 08d35d9..b7f6e36 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/SelectCustomerActivity.kt @@ -11,12 +11,12 @@ import com.casic.xz.meterage.extensions.showEmptyPage import com.casic.xz.meterage.extensions.toChineseGrade import com.casic.xz.meterage.model.CustomerListModel -import com.casic.xz.meterage.utils.DividerItemDecoration import com.casic.xz.meterage.utils.LoadingDialogHub import com.casic.xz.meterage.vm.CustomerViewModel import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.adapter.SingleChoiceAdapter import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.divider.ItemDecoration import com.pengxh.kt.lite.extensions.convertColor import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show @@ -179,7 +179,7 @@ } } customerRecyclerView.addItemDecoration( - DividerItemDecoration(70f.dp2px(context).toFloat(), 0f) + ItemDecoration(70f.dp2px(context).toFloat(), 0f) ) (customerRecyclerView.itemAnimator as DefaultItemAnimator).supportsChangeAnimations = false diff --git a/app/src/main/java/com/casic/xz/meterage/widgets/GlobeAlertDialog.kt b/app/src/main/java/com/casic/xz/meterage/widgets/GlobeAlertDialog.kt index 976b130..3455498 100644 --- a/app/src/main/java/com/casic/xz/meterage/widgets/GlobeAlertDialog.kt +++ b/app/src/main/java/com/casic/xz/meterage/widgets/GlobeAlertDialog.kt @@ -10,7 +10,7 @@ import android.widget.Button import androidx.fragment.app.DialogFragment import com.casic.xz.meterage.R -import com.pengxh.kt.lite.extensions.obtainScreenWidth +import com.pengxh.kt.lite.extensions.getScreenWidth class GlobeAlertDialog(private val listener: OnDialogButtonClickListener) : DialogFragment() { @@ -22,7 +22,7 @@ window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) window?.decorView?.setBackgroundColor(Color.TRANSPARENT) val params = window?.attributes - params?.width = ((context?.obtainScreenWidth()!! * 0.8f).toInt()) + params?.width = ((context?.getScreenWidth()!! * 0.8f).toInt()) params?.height = WindowManager.LayoutParams.WRAP_CONTENT window?.attributes = params