package com.fanghua.driver.ui
|
|
import android.app.Dialog
|
import android.content.Context
|
import android.graphics.Color
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.Window
|
import android.widget.FrameLayout
|
import cn.sinata.xldutils.utils.DensityUtil
|
import cn.sinata.xldutils.utils.gone
|
import com.fanghua.driver.R
|
import com.fanghua.driver.utils.EasePopup.EasyPopup
|
import kotlinx.android.synthetic.main.dialog_sure_and_del.view.*
|
|
|
/***
|
* 1: 左右两个按钮 可选底部关闭
|
* 2:同一 默认确定取消
|
* 3:一个确定按钮 可选底部关闭
|
* 4:底部选择器 个人中心选择期望等
|
* 5:照相 拍照
|
*/
|
|
object DialogUtil {
|
|
|
/***
|
* 获取一个通用的dialog
|
*/
|
fun getDialog(mContext: Context?, layout: Int): Dialog {
|
val baseDialog =
|
Dialog(mContext!!, R.style.dialogFullScreen)
|
baseDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
|
val headView = LayoutInflater.from(mContext)
|
.inflate(layout, null)
|
baseDialog.setContentView(headView)
|
baseDialog.setCanceledOnTouchOutside(true)
|
baseDialog.setCancelable(true)
|
baseDialog.show()
|
var params = headView.layoutParams as FrameLayout.LayoutParams
|
params.width = DensityUtil.getDeviceWidth(mContext)
|
return baseDialog
|
}
|
|
fun getDialog(mContext: Context?, layout: Int,style:Int): Dialog {
|
val baseDialog =
|
Dialog(mContext!!,style)
|
baseDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
|
val headView = LayoutInflater.from(mContext)
|
.inflate(layout, null)
|
baseDialog.setContentView(headView)
|
baseDialog.setCanceledOnTouchOutside(true)
|
baseDialog.setCancelable(true)
|
baseDialog.show()
|
var params = headView.layoutParams as FrameLayout.LayoutParams
|
params.width = DensityUtil.getDeviceWidth(mContext)
|
return baseDialog
|
}
|
|
fun getView(rechargeDialog: Dialog): View {
|
return rechargeDialog.window!!.decorView
|
}
|
|
fun getPopupwindow(mContext: Context?, layout: Int,bgDark:Boolean = true):EasyPopup{
|
val view =
|
View.inflate(mContext,layout, null)
|
var mclearPopup = EasyPopup.create(mContext)
|
.setContentView(view)
|
.setOutsideTouchable(true)
|
.setFocusAndOutsideEnable(true) //允许背景变暗
|
.setBackgroundDimEnable(bgDark) //变暗的透明度(0-1),0为完全透明
|
.setDimValue(0.4f) //变暗的背景颜色
|
.setDimColor(Color.BLACK) //指定任意 ViewGroup 背景变暗
|
.apply()
|
|
return mclearPopup
|
}
|
|
fun getOnlySureDialog(context: Context,content: String,clickSure:() -> Unit):Dialog{
|
var dialog = getDelAndSureDialog(context,content,{},clickSure)
|
var view = getView(dialog)
|
view.tv_close_base.gone()
|
return dialog
|
}
|
|
fun getDelAndSureDialog(context: Context,content:String,clickClose :() -> Unit,clickSure:() -> Unit):Dialog{
|
var dialog = getDialog(context,R.layout.dialog_sure_and_del)
|
var view = getView(dialog)
|
view.view_hint_close_base.setOnClickListener {
|
dialog.dismiss()
|
}
|
view.tv_close_base.setOnClickListener {
|
dialog.dismiss()
|
clickClose()
|
}
|
view.tv_sure_base.setOnClickListener {
|
dialog.dismiss()
|
clickSure()
|
}
|
view.tv_view_two_base.text = content
|
return dialog
|
}
|
|
fun getDelAndSureDialog(context: Context,sure:String,cancel:String,content:String,clickClose :() -> Unit,clickSure:() -> Unit):Dialog{
|
var dialog = getDialog(context,R.layout.dialog_sure_and_del)
|
var view = getView(dialog)
|
view.tv_close_base.text = cancel
|
view.tv_sure_base.text = sure
|
view.view_hint_close_base?.apply {
|
setOnClickListener {
|
dialog.dismiss()
|
}
|
visibility = View.INVISIBLE
|
}
|
view.tv_close_base.setOnClickListener {
|
dialog.dismiss()
|
clickClose()
|
}
|
view.tv_sure_base.setOnClickListener {
|
dialog.dismiss()
|
clickSure()
|
}
|
view.tv_view_two_base.text = content
|
return dialog
|
}
|
|
|
|
}
|