package com.okgoincar.slab.util
|
|
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 androidx.core.content.ContextCompat
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.utils.DensityUtil
|
import cn.sinata.xldutils.utils.gone
|
import com.okgoincar.R
|
import com.okgoincar.utils.EasePopup.EasyPopup
|
import kotlinx.android.synthetic.main.dialog_sure_and_del_slab.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): EasyPopup {
|
val view =
|
View.inflate(mContext,layout, null)
|
var mclearPopup = EasyPopup.create(mContext)
|
.setContentView(view)
|
.setOutsideTouchable(true)
|
.setFocusAndOutsideEnable(true) //允许背景变暗
|
.setBackgroundDimEnable(true) //变暗的透明度(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 getSlabDelAndSureDialog(context: Context,content:String,clickClose :() -> Unit,clickSure:() -> Unit):Dialog{
|
// var dialog = getDialog(context,R.layout.dialog_sure_and_del_slab)
|
// var view = getView(dialog)
|
// 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 getSlabDelAndSurePopWindow(context: Context,content:String,clickClose :() -> Unit,clickSure:() -> Unit):EasyPopup{
|
var dialog = getPopupwindow(context,R.layout.dialog_sure_and_del_slab)
|
var view = dialog.contentView
|
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 getSlabSurePopWindow(context: Context,content:String,clickSure:() -> Unit):EasyPopup{
|
var dialog = getPopupwindow(context,R.layout.dialog_sure_and_del_slab)
|
var view = dialog.contentView
|
view.tv_close_base.gone()
|
view.tv_sure_base.setOnClickListener {
|
dialog.dismiss()
|
clickSure()
|
}
|
view.tv_view_two_base.text = content
|
return dialog
|
}
|
|
fun getSlabDelAndSurePopWindow(context: Context,sureStr:String,cancelStr:String,content:String,clickClose :() -> Unit,clickSure:() -> Unit):EasyPopup{
|
var dialog = getPopupwindow(context,R.layout.dialog_sure_and_del_slab)
|
var view = dialog.contentView
|
view.tv_close_base.text = cancelStr
|
view.tv_sure_base.text = sureStr
|
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 getSlabDelAndSurePopWindow(showCaccel:Boolean,context: Context,sureStr:String,cancelStr:String,content:String,clickClose :() -> Unit,clickSure:() -> Unit):EasyPopup{
|
var dialog = getPopupwindow(context,R.layout.dialog_sure_and_del_slab)
|
var view = dialog.contentView
|
view.tv_close_base.text = cancelStr
|
view.tv_sure_base.text = sureStr
|
if (!showCaccel){
|
view.tv_close_base.gone()
|
}
|
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 getNetListDialog(arrayList: ArrayList<String>,showView: View,context: Context,okclick:(allMode:String) -> Unit):EasyPopup{
|
// var pop = getPopupwindow(context,R.layout.dialog_server_mode)
|
// pop.showDown(showView)
|
// pop.contentView.rl_server_mode.layoutManager = LinearLayoutManager(context)
|
// var adapter = ServerModeAdapter()
|
// adapter.data.addAll(arrayList)
|
// pop.contentView.rl_server_mode.adapter = adapter
|
// pop.contentView.tv_cancel_server_mode.setOnClickListener {
|
// pop.dismiss()
|
// }
|
// pop.contentView.tv_ok_server_mode.setOnClickListener {
|
// if (adapter.getAllMode().isEmpty()){
|
// ToastUtils.showShortToast(context,"请选择内容")
|
// return@setOnClickListener
|
// }
|
// pop.dismiss()
|
// okclick(adapter.getAllMode())
|
// }
|
// return pop
|
// }
|
//
|
// fun getColorListDialog(arrayList: ArrayList<String>,showView: View,context: Context,okclick:(allMode:String) -> Unit):EasyPopup{
|
// var pop = getPopupwindow(context,R.layout.dialog_server_mode)
|
// pop.showDown(showView)
|
// pop.contentView.rl_server_mode.layoutManager = LinearLayoutManager(context)
|
// var adapter = ColorOnlyAdapter()
|
// adapter.data.addAll(arrayList)
|
// pop.contentView.rl_server_mode.adapter = adapter
|
// pop.contentView.tv_cancel_server_mode.setOnClickListener {
|
// pop.dismiss()
|
// }
|
// pop.contentView.tv_ok_server_mode.setOnClickListener {
|
// if (adapter.getSelectId().isEmpty()){
|
// ToastUtils.showShortToast(context,"请选择内容")
|
// return@setOnClickListener
|
// }
|
// pop.dismiss()
|
// okclick(adapter.getSelectId())
|
// }
|
// return pop
|
// }
|
//
|
// fun<T> getOptionListDialog(context: Context, list: List<T>, lisener:OnOptionsSelectListener){
|
// val pickerView: OptionsPickerView<T> = OptionsPickerBuilder(context, lisener)
|
// .setTitleText("选择地区")
|
// .setCancelColor(ContextCompat.getColor(context, R.color.black))
|
// .setDividerColor(ContextCompat.getColor(context, R.color.white))
|
// .setSubmitColor(ContextCompat.getColor(context, R.color.main_yellow))
|
// .setBgColor(ContextCompat.getColor(context, R.color.white))
|
// .setTitleBgColor(ContextCompat.getColor(context, R.color.white))
|
// .build<T>(1)
|
// pickerView.setPicker(list)
|
// pickerView.show()
|
// }
|
//
|
// fun<T> getOptionListDialog(context: Context, list: List<T>, listTwo: List<T>, lisener:OnOptionsSelectListener){
|
// val pickerView: OptionsPickerView<T> = OptionsPickerBuilder(context, lisener)
|
// .setTitleText("选择地区")
|
// .setCancelColor(ContextCompat.getColor(context, R.color.black))
|
// .setDividerColor(ContextCompat.getColor(context, R.color.white))
|
// .setSubmitColor(ContextCompat.getColor(context, R.color.main_yellow))
|
// .setBgColor(ContextCompat.getColor(context, R.color.white))
|
// .setTitleBgColor(ContextCompat.getColor(context, R.color.white))
|
// .build<T>(1)
|
// pickerView.setNPicker(list,listTwo)
|
// pickerView.show()
|
// }
|
//
|
// fun getCityDialog(context: Context, lisener:OnCityItemClickListener){
|
// var cityPick = CityPickerView()
|
// cityPick.init(context)
|
// val cityConfig = CityConfig.Builder()
|
// .title("选择城市") //标题
|
// .titleTextSize(18) //标题文字大小
|
// .titleTextColor("#585858") //标题文字颜 色
|
// .titleBackgroundColor("#FFFFFF") //标题栏背景色
|
// .confirTextColor("#585858") //确认按钮文字颜色
|
// .confirmText("确定") //确认按钮文字
|
// .confirmTextSize(16) //确认按钮文字大小
|
// .cancelTextColor("#585858") //取消按钮文字颜色
|
// .cancelText("取消") //取消按钮文字
|
// .cancelTextSize(16) //取消按钮文字大小
|
// .setCityWheelType(CityConfig.WheelType.PRO_CITY_DIS) //显示类,只显示省份一级,显示省市两级还是显示省市区三级
|
// .showBackground(true) //是否显示半透明背景
|
// .visibleItemsCount(7) //显示item的数量
|
// .province("浙江省") //默认显示的省份
|
// .city("杭州市") //默认显示省份下面的城市
|
// .district("滨江区") //默认显示省市下面的区县数据
|
// .provinceCyclic(true) //省份滚轮是否可以循环滚动
|
// .cityCyclic(true) //城市滚轮是否可以循环滚动
|
// .districtCyclic(true) //区县滚轮是否循环滚动
|
//// .setCustomItemLayout(R.layout.item_city) //自定义item的布局
|
//// .setCustomItemTextViewId(R.id.item_city_name_tv) //自定义item布局里面的textViewid
|
// .drawShadows(false) //滚轮不显示模糊效果
|
// .setLineColor("#bcb6b6") //中间横线的颜色
|
// .setLineHeigh(1) //中间横线的高度
|
// .setShowGAT(true) //是否显示港澳台数据,默认不显示
|
// .build()
|
// //添加配置
|
// //添加配置
|
// cityPick.setConfig(cityConfig)
|
// //显示
|
// //显示
|
// cityPick.showCityPicker()
|
// //监听选择点击事件及返回结果
|
// //监听选择点击事件及返回结果
|
// cityPick.setOnCityItemClickListener(lisener)
|
// }
|
//
|
// fun getNetOneDialog(arrayList: ArrayList<AllCarBean.DataBean>,showView: View,context: Context,okclick:(selectId:AllCarBean.DataBean) -> Unit):EasyPopup{
|
// var pop = getPopupwindow(context,R.layout.dialog_server_mode)
|
// pop.showDown(showView)
|
// pop.contentView.rl_server_mode.layoutManager = LinearLayoutManager(context)
|
// var adapter = ServerOnlyAdapter()
|
// adapter.data.addAll(arrayList)
|
// pop.contentView.rl_server_mode.adapter = adapter
|
// pop.contentView.tv_cancel_server_mode.setOnClickListener {
|
// pop.dismiss()
|
// }
|
// pop.contentView.tv_ok_server_mode.setOnClickListener {
|
// pop.dismiss()
|
// okclick(adapter.getSelectId())
|
// }
|
// return pop
|
// }
|
|
}
|