desc:应用内自己实现恢复出厂设置功能
							parent
							
								
									a5d55cd849
								
							
						
					
					
						commit
						32532c035e
					
				| @ -0,0 +1,55 @@ | ||||
| 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.R | ||||
| import com.yinuo.safetywatcher.databinding.LayoutConfirmDialogBinding | ||||
| 
 | ||||
| class ConfirmDialog( | ||||
|     private val tipResID: Int = R.string.confirm_clear_data_tip, | ||||
|     private val onConfirmClick: (() -> Unit?)? = null | ||||
| ) : | ||||
|     DialogFragment() { | ||||
| 
 | ||||
|     var dialogBinding: LayoutConfirmDialogBinding? = null | ||||
| 
 | ||||
|     override fun onCreateView( | ||||
|         inflater: LayoutInflater, | ||||
|         container: ViewGroup?, | ||||
|         savedInstanceState: Bundle? | ||||
|     ): View? { | ||||
|         dialogBinding = LayoutConfirmDialogBinding.inflate(inflater, container, false) | ||||
|         dialogBinding!!.tip.text = getString(tipResID) | ||||
|         dialogBinding!!.tvConfirm.setOnClickListener { | ||||
|             onConfirmClick?.invoke() | ||||
|         } | ||||
|         dialogBinding!!.tvCancel.setOnClickListener { | ||||
|             this@ConfirmDialog.dismiss() | ||||
|         } | ||||
|         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 = 480 | ||||
|         window?.attributes?.height = 320 | ||||
|         //设置window位置 | ||||
|         window?.attributes?.gravity = Gravity.CENTER//居中 | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,49 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:layout_width="@dimen/_480dp" | ||||
|     android:layout_height="@dimen/_320dp" | ||||
|     android:background="@drawable/warn_setting_btn_bg" | ||||
|     android:orientation="vertical"> | ||||
| 
 | ||||
|     <TextView | ||||
|         android:id="@+id/tip" | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="0dp" | ||||
|         android:layout_gravity="center" | ||||
|         android:layout_marginTop="@dimen/_36dp" | ||||
|         android:layout_weight="1" | ||||
|         android:gravity="center" | ||||
|         android:text="@string/sync_data_tip" | ||||
|         android:textColor="@color/white" | ||||
|         android:textSize="@dimen/_30dp" /> | ||||
| 
 | ||||
|     <LinearLayout | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="wrap_content"> | ||||
| 
 | ||||
|         <TextView | ||||
|             android:id="@+id/tv_cancel" | ||||
|             android:layout_width="0dp" | ||||
|             android:layout_height="@dimen/_81dp" | ||||
|             android:layout_weight="1" | ||||
|             android:background="@drawable/cancel_btn_bg" | ||||
|             android:focusable="true" | ||||
|             android:gravity="center" | ||||
|             android:focusedByDefault="true" | ||||
|             android:text="@string/cancel" | ||||
|             android:textColor="@color/white_30" | ||||
|             android:textSize="@dimen/_36dp" /> | ||||
| 
 | ||||
|         <TextView | ||||
|             android:id="@+id/tv_confirm" | ||||
|             android:layout_width="0dp" | ||||
|             android:layout_height="@dimen/_81dp" | ||||
|             android:layout_weight="1" | ||||
|             android:background="@drawable/confirm_btn_bg" | ||||
|             android:focusable="true" | ||||
|             android:gravity="center" | ||||
|             android:text="@string/confirm" | ||||
|             android:textColor="@color/white" | ||||
|             android:textSize="@dimen/_36dp" /> | ||||
|     </LinearLayout> | ||||
| </LinearLayout> | ||||
					Loading…
					
					
				
		Reference in New Issue