代码如下 :

class ClearCacheDialog {private var context: Context? = nullprivate var dialog: Dialog? = nullprivate var btn_cancel: Button? = nullprivate  var txt_updata_message:TextView? = nullprivate var btn_update: Button? = null/*** init the dialog** @return*/fun MyVersionDialog(activity: Activity) {context = activitydialog = Dialog(context!!, R.style.mydialog_style)dialog!!.setContentView(R.layout.clear_cache_dialog)//设置dialog以外的不能点击dialog!!.setCancelable(false)txt_updata_message = dialog!!.findViewById<View>(R.id.txt_updata_message) as TextViewbtn_update = dialog!!.findViewById<View>(R.id.btn_update) as Buttonbtn_cancel = dialog!!.findViewById<View>(R.id.btn_cancel) as Buttonbtn_cancel!!.setOnClickListener {//取消clearCache?.cancel()dismiss()}btn_update!!.setOnClickListener {//清除缓存clearCache?.clearCache()dismiss()}}var clearCache: ClearCacheOnClickCallBack?=nullfun setClearCacheOnClickCallBack(clearCacheOnClickCallBack: ClearCacheOnClickCallBack) {this.clearCache = clearCacheOnClickCallBack}/*** Get the Text of the EditText*/fun getText(): String? {//return editText.getText().toString();return null}public fun show() {dialog?.show()}fun hide() {dialog?.hide()}fun dismiss() {dialog?.dismiss()}}
clear_cache_dialog.xml代码如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="250dp"android:layout_height="180dp"android:fitsSystemWindows="true"android:background="@drawable/persons_material_gb"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:gravity="center"android:text="清除缓存"android:layout_marginTop="10dp"android:textColor="@color/black"android:textSize="20dip" /><TextViewandroid:id="@+id/txt_updata_message"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:layout_gravity="center"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_marginTop="25dp"android:layout_marginBottom="10dp"android:text="是否删除app缓存信息?" /><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginBottom="25dp"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_alignParentBottom="true"android:layout_marginRight="10dp"android:layout_marginLeft="10dp"android:gravity="center"android:layout_gravity="center"><Buttonandroid:id="@+id/btn_cancel"android:layout_width="75dp"android:layout_height="35dp"android:layout_alignParentBottom="true"android:layout_toLeftOf="@+id/btn_update"android:background="@drawable/update_cancelbtn_bg"android:text="取消"android:layout_gravity="center_horizontal"android:gravity="center"android:textColor="#999999" /><Buttonandroid:id="@+id/btn_update"android:layout_width="75dp"android:layout_height="35dp"android:layout_alignParentBottom="true"android:layout_alignParentRight="true"android:layout_marginLeft="19dp"android:layout_gravity="center_horizontal"android:gravity="center"android:background="@drawable/rounded_button"android:text="确定"android:textColor="@color/white" /></LinearLayout></RelativeLayout></LinearLayout>

styles.xml代码如下

<style name="mydialog_style" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><item name="android:windowIsFloating">true</item><item name="android:windowIsTranslucent">true</item><item name="android:windowNoTitle">true</item><item name="android:background">@null</item><item name="android:windowBackground">@android:color/transparent</item><item name="android:backgroundDimEnabled">true</item><item name="android:backgroundDimAmount">0.6</item>
</style>
ClearCacheOnClickCallBack接口如下
interface ClearCacheOnClickCallBack {fun clearCache()fun cancel()
}

activity代码如下

 var clear:ClearCacheDialog=ClearCacheDialog()clear.MyVersionDialog(this)clear .setClearCacheOnClickCallBack(this)clearCache.setOnClickListener{clear.show()}

实现接口两个方法

class SettingAct: BaseActivity(), ClearCacheOnClickCallBack {
override fun clearCache() {//清除缓存Toast.makeText(activity,"清除成功",Toast.LENGTH_SHORT).show()
}override fun cancel() {//退出Toast.makeText(activity,"取消",Toast.LENGTH_SHORT).show()
}
}

android kotlin 自定义dialog相关推荐

  1. android的自定义dialog样式,如何自定义Android Dialog的样式?

    如何自定义Android Dialog的样式?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何自定义Android ...

  2. Kotlin自定义Dialog

    Kotlin自定义Dialog 刚学kotlin,上班空闲之余写一个自定义dialog的例子吧.大佬们勿喷,抱拳了老铁!! 1,新建一个.kt 类继承Dialog,然后写一个布局,声明一下布局内对应的 ...

  3. Android中自定义Dialog外形,去除黑底和白色边框

    在做Android开发中经常会使用到自定义样式的Dialog,尤其是在游戏当中,大家通常都是通过自定义一个布局文件来设置Dialog中显示的内容,但是仅仅这样还是不行的~会有黑色的框和白色的边.这就需 ...

  4. Android动画+自定义Dialog实现闲鱼发布页面动态效果

    先来看一下效果图: 一:新建一个项目DialogView 在layout文件夹下创建一个anmi的文件夹用于存放动画资源 1.首先创建进入Dialog和关闭Dialog时候的主题背景动画 进入Dial ...

  5. Android 完美自定义Dialog

    Android中用到Dialog的情景非常的多,如提示.警告.选择等等:正因为情景多种多样,所以Android提供的dialog不一定适合我们特定的情况,或外观与应用不匹配,所以时常要进行Dialog ...

  6. Android/安卓 自定义Dialog 最简单、最详细解释

    看了很多视频,也在网上找了一些浏览量最多的文章,发现都太难懂或者太复杂,夹杂了很多其他功能,自定义度太高,很繁琐.所以我想写一个基础的自定义Dialog,只涉及基础的自定义,其他复杂的自定义可以在这个 ...

  7. android如何自定义dialog,Android—自定义Dialog

    在 Android 日常的开发中,Dialog 使用是比较广泛的.无论是提示一个提示语,还是确认信息,还是有一定交互的(弹出验证码,输入账号密码登录等等)对话框. 而我们去看一下原生的对话框,虽然随着 ...

  8. android如何自定义dialog,安卓dialog的使用+如何自定义dialog

    什么叫dialog 简单来说就是一句话: 弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容. 安卓自带的dialog有三种: - AlertDialog--普通的提示对话框 - Progre ...

  9. android自定义dialog对话框,android的自定义dialog对话框实现

    Android自定义dialog对话框 一:自定义dialog 如何填充布局 ①自定MyDialog类,在类里关联布局 public class MyDialog extends AlertDialo ...

最新文章

  1. 在CcentOS系统上将deb包转换为rpm包
  2. 【聚类算法】常见聚类算法总结
  3. Redis学习笔记(4)-List
  4. 送30块树莓派PICO 开发板!
  5. textjoin去重_SuperJoinText这个函数,弥补了TEXTJOIN的缺憾
  6. python100内3整除while_python-循环语句-习题及答案-for-while
  7. linux6安装图形化界面,centos 6.8 图形界面安装
  8. 增量式pid_PID 基础知识汇总
  9. python自动化是什么意思_python appium自动化是什么?
  10. Develop Internationalized Software
  11. Golang通过包长协议处理TCP粘包
  12. 【JS】js中的和符号,或符号
  13. pythonwhile循环语句_Python While循环语句
  14. 算法应该怎么“玩”?
  15. 炸鸡鸭背后的真相 —— 一位良心发现者的自白[转]--希望提起大家的注意力
  16. 数据分析师常见的7道面试题
  17. 计算机组成原理17----CPU指令流水线
  18. 不懂word2vec,还敢说自己是做NLP?
  19. php 递归遍历文件夹,php递归遍历目录_PHP教程
  20. 首款中文渗透测试专用Linux系统—MagicBox

热门文章

  1. at 17:00 Shutdown -s -t 60
  2. 《学习记录》“Python”输入月份,输出天数
  3. 玉树地震(为玉树同胞祈福!)
  4. 浏览器copy as curl用法
  5. Java AES密码盐加密
  6. 基于Flink的实时日志分析系统实践
  7. java技能框架有哪些,详细说明
  8. FDTD中farfieldfilter script学习
  9. APP加固:助力移动应用安全合规
  10. 移动短信代码及专用电话一览