热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android开发分享Android开发:AlertDialog的使用

AlertDialog可以在当前界面上弹出一个对象框,此对话框置于所有界面上面,且可以屏蔽他们的交互能力。一般用于一些重要的提示内容。AlertDialog不用在布局文件中声明,而

AlertDialog可以在当前界面上弹出一个对象框,此对话框置于所有界面上面,且可以屏蔽他们的交互能力。一般用于一些重要的提示内容。
AlertDialog不用在布局文件中声明,而是通过代码文件中的构造器来生成并显示。
下面的代码展示了AlertDialog的基本使用方法。
总结一下,使用AlertDialog的基本步骤。

  1. 创建一个AlertDialog.Builder()对象。
  2. 设置title和message等。
  3. 设置按钮的监听器。
  4. 调用show()方法显示之。

修改按钮颜色的方法
调用AlertDialog的getButton就可以得到一个Button对象,然后就可以设置啦。值得注意的是,设置方法之前应该调用show()方法,因为次方法才能返回AlertDialog对象。

package com.example.alertdialog  import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Toast import androidx.appcompat.app.AlertDialog import kotlinx.android.synthetic.main.activity_main.*  class MainActivity : AppCompatActivity() {     override fun onCreate(savedInstanceState: Bundle?) {         super.onCreate(savedInstanceState)         setContentView(R.layout.activity_main)         btn.setOnClickListener {             createAlertDialog()         }     }      //显示一个对话框     public fun createAlertDialog() {         //构建一个对话框         val builder = AlertDialog.Builder(this)         //设置title         builder.setTitle("这是一个对话框")         //设置对话框的内容         builder.setMessage("这是对话框的内容")          //设置正面按钮         builder.setPositiveButton("确定") { dialogInterface, i ->             Toast.makeText(this, "你点击了确定按钮", Toast.LENGTH_SHORT).show()         }          //设置反面按钮         builder.setNegativeButton("取消") { dialogInterface, i ->             Toast.makeText(this, "你点击了取消按钮", Toast.LENGTH_SHORT).show()         }          //设置中立按钮         builder.setNeutralButton("中立") { dialogInterface, i ->             Toast.makeText(this, "你点击了中立按钮", Toast.LENGTH_SHORT).show()         }          //将对话框显示出来         //show()函数返回一个AlertDialog对象         val dialog = builder.show()          //设置按钮颜色:getButton返回一个Button对象,因此可以直接设置颜色了         //类似的,还可以设置其他样式,比如字体等         dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.RED)         dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.GREEN)         dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(Color.YELLOW)       } } 


推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
author-avatar
marco112977
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有