怎么在芬兰湾的科特林中利用建造者模式自定义一个对话框

  介绍

怎么在芬兰湾的科特林中利用建造者模式自定义一个对话框?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1。CommonDialog创建我们自己的对话框,继承于系统的对话框实现构造方法

class  CommonDialog(上下文:上下文吗?,,themeResId:, Int),:,对话框(上下文,themeResId), {}

2。在内部创建建筑类定义出我们需要的方法和属性

class  Builder  (private  val 背景:,上下文),{   ,,,private  var 标题:,字符串?=,空   ,,,private  var 信息:,字符串?=,空   ,,,private  var  positiveButtonContent:,字符串?=,空   ,,,private  var  negativeButtonContent:,字符串?=,空   ,,,private  var  positiveButtonListener:, DialogInterface.OnClickListener ?=,空   ,,,private  var  negativeButtonListener:, DialogInterface.OnClickListener ?=,空   ,,,private  var  contentView:, ?,=零   ,,,private  var  imageid: Int =, 0   ,,,private  var 颜色:Int =, 0   ,,,private  var  withOffSize:, Float  0.=, tofloat ()   ,,,private  var  heightOffSize:, Float  0.=, tofloat ()   ,   ,   ,,,fun  setTitle(标题:字符串):,Builder  {   ,,,,,this.title =,标题   ,,,,return 这   ,,,}   ,   ,   ,,,fun  setTitle(标题:Int):, Builder  {   ,,,,,this.title =, context.getText(标题),as 字符串   ,,,,return 这   ,,,}   ,   ,,,fun  setMessage(消息:字符串):,Builder  {   ,,,,,this.message =,消息   ,,,,return 这   ,,,}   ,   ,,,fun  setMessageColor(颜色:Int):, Builder  {   ,,,,,this.color =,颜色   ,,,,return 这   ,,,}   ,   ,,,fun  setImageHeader (Imageid: Int):, Builder  {   ,   ,,,,,this.imageid =Imageid   ,,,,return 这   ,,,}   ,   ,   ,,,fun  setPositiveButton(文本:字符串,侦听器:,DialogInterface.OnClickListener):, Builder  {   ,,,,,this.positiveButtonContent =,文本   ,,,,,this.positiveButtonListener =,侦听器   ,,,,return 这   ,,,}   ,   ,,,fun  setPositiveButton (textId: Int,侦听器:,DialogInterface.OnClickListener):, Builder  {   ,,,,,this.positiveButtonContent =, context.getText (textId), as 字符串   ,,,,,this.positiveButtonListener =,侦听器   ,,,,return 这   ,,,}   ,   ,,,fun  setNegativeButton(文本:字符串,侦听器:,DialogInterface.OnClickListener):, Builder  {   ,,,,,this.negativeButtonContent =,文本   ,,,,,this.negativeButtonListener =,侦听器   ,,,,return 这   ,,,}   ,   ,,,fun  setNegativeButton (textId: Int,侦听器:,DialogInterface.OnClickListener):, Builder  {   ,,,,,this.negativeButtonContent =, context.getText (textId), as 字符串   ,,,,,this.negativeButtonListener =,侦听器   ,,,,return 这   ,,,}   ,   ,,,fun  setContentView (v:视图):,Builder  {   ,,,,,this.contentView =v   ,,,,return 这   ,,,}   ,   ,,,fun 装置(v:浮动):,Builder  {   ,,,,,this.withOffSize =v   ,,,,return 这   ,,,}   ,   ,,,fun  setContentView (v:浮动):,Builder  {   ,,,,,this.heightOffSize =v   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在芬兰湾的科特林中利用建造者模式自定义一个对话框