From f1ea0f998d387a215d43d6cade2ba1beb65211fe Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Mon, 12 Jun 2023 17:41:43 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E8=87=AA=E5=AE=9A=E4=B9=89dialog=E5=92=8C?= =?UTF-8?q?=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safetywatcher/watcher/ui/CloudActivity.kt | 12 +++++ .../watcher/ui/view/CommonToast.kt | 32 ++++++++++++++ .../watcher/ui/view/SyncDialog.kt | 41 ++++++++++++++++++ .../yinuo/safetywatcher/watcher/utils/Exts.kt | 3 +- .../main/res/layout/layout_common_toast.xml | 18 ++++++++ .../main/res/layout/layout_sync_dialog.xml | 22 ++++++++++ app/src/main/res/mipmap-hdpi/ic_sync.png | Bin 0 -> 9482 bytes app/src/main/res/values/dimens.xml | 1 + app/src/main/res/values/strings.xml | 1 + 9 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt create mode 100644 app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt create mode 100644 app/src/main/res/layout/layout_common_toast.xml create mode 100644 app/src/main/res/layout/layout_sync_dialog.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_sync.png diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt index 7adc10e..e2901d5 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt @@ -8,6 +8,7 @@ import com.yinuo.safetywatcher.databinding.ActivityCloudBinding import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity import com.yinuo.safetywatcher.watcher.db.DBUtils import com.yinuo.safetywatcher.watcher.net.api.UploadFileApi +import com.yinuo.safetywatcher.watcher.ui.view.SyncDialog import com.yinuo.safetywatcher.xls.utils.PathUtils import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope @@ -22,6 +23,10 @@ class CloudActivity : NoOptionsActivity() { UploadFileApi() } + private val syncDialog by lazy { + SyncDialog() + } + override fun getTopBarTitle(): String? { return getString(R.string.cloud) } @@ -33,17 +38,24 @@ class CloudActivity : NoOptionsActivity() { override fun initView() { mBinding.apply { syncSensor.setOnClickListener { + showDialog() uploadSensorData() } syncVedio.setOnClickListener { + showDialog() uploadVideo() } syncOnce.setOnClickListener { + showDialog() uploadOnece() } } } + private fun showDialog() { + syncDialog.showNow(supportFragmentManager, "sync") + } + private fun uploadOnece() { uploadSensorData() uploadVideo() diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt new file mode 100644 index 0000000..2778a88 --- /dev/null +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt @@ -0,0 +1,32 @@ +package com.yinuo.safetywatcher.watcher.ui.view + +import android.content.Context +import android.view.Gravity +import android.view.LayoutInflater +import android.widget.Toast +import com.yinuo.safetywatcher.databinding.LayoutCommonToastBinding + +open class CommonToast(context: Context?) : Toast(context) { + + var mBinding: LayoutCommonToastBinding? = null + + init { + mBinding = LayoutCommonToastBinding.inflate(LayoutInflater.from(context), null, false) + view = mBinding!!.root + } + + override fun setText(text: CharSequence) { + mBinding!!.tv.text = text + } + + open fun makeCommonText( + context: Context, + text: CharSequence, duration: Int + ): Toast { + val result = CommonToast(context) + result.setText(text) + result.setGravity(Gravity.CENTER, 0, 0) + result.duration = duration + return result + } +} \ No newline at end of file diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt new file mode 100644 index 0000000..ca35ad3 --- /dev/null +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt @@ -0,0 +1,41 @@ +package com.yinuo.safetywatcher.watcher.ui.view + +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.DialogFragment +import com.yinuo.safetywatcher.databinding.LayoutSyncDialogBinding + +class SyncDialog : DialogFragment() { + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val dialogBinding = LayoutSyncDialogBinding.inflate(inflater, container, false) + return dialogBinding.root + } + + @Deprecated("Deprecated in Java") + override fun onActivityCreated(savedInstanceState: Bundle?) { + super.onActivityCreated(savedInstanceState) + initWindow() + } + + private fun initWindow() { + //初始化window相关表现 + val window = dialog?.window + //设备背景为透明(默认白色) + window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + //设置window宽高(单位px) + window?.attributes?.width = 320 + window?.attributes?.height = 320 + //设置window位置 + window?.attributes?.gravity = Gravity.CENTER//居中 + } +} \ No newline at end of file diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt index 5898f3e..ba0fef4 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt @@ -2,7 +2,8 @@ package com.yinuo.safetywatcher.watcher.utils import android.content.Context import android.widget.Toast +import com.yinuo.safetywatcher.watcher.ui.view.CommonToast fun Context.showToast(msg: String) { - Toast.makeText(this, msg, Toast.LENGTH_SHORT).show() + CommonToast(this).makeCommonText(this, msg, Toast.LENGTH_SHORT).show() } \ No newline at end of file diff --git a/app/src/main/res/layout/layout_common_toast.xml b/app/src/main/res/layout/layout_common_toast.xml new file mode 100644 index 0000000..9ae95b5 --- /dev/null +++ b/app/src/main/res/layout/layout_common_toast.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_sync_dialog.xml b/app/src/main/res/layout/layout_sync_dialog.xml new file mode 100644 index 0000000..214e880 --- /dev/null +++ b/app/src/main/res/layout/layout_sync_dialog.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_sync.png b/app/src/main/res/mipmap-hdpi/ic_sync.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0be5a111da5b3be96b23cecc38875009e39c95 GIT binary patch literal 9482 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 2133bf9..3419dda 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -57,4 +57,5 @@ 6px 28px 580px + 320px \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5d6ce70..dcfc097 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -53,4 +53,5 @@ 开始时间和结束时间间隔不能超过24小时!请调整 开始时间必须小于结束时间!请调整 请先插入U盘! + 数据同步中