iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android中AlertDialog各种对话框的用法实例详解
  • 926
分享到

Android中AlertDialog各种对话框的用法实例详解

alertdialogAndroid 2022-06-06 08:06:22 926人浏览 八月长安
摘要

 目标效果: 程序运行,显示图一的几个按钮,点击按钮分别显示图二到图六的对话框,点击对话框的某一项或者按钮,也会显示相应的吐司输出。 1.activity

 目标效果:

程序运行,显示图一的几个按钮,点击按钮分别显示图二到图六的对话框,点击对话框的某一项或者按钮,也会显示相应的吐司输出。

1.activity_main.xml页面存放五个按钮。

activity_main.xml页面:


<RelativeLayout xmlns:Android="Http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" > 
<Button 
android:id="@+id/btnSure" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="10dp" 
android:text="确认对话框"/> 
<Button 
android:id="@+id/btnRadio" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="60dp" 
android:text="单选对话框"/> 
<Button 
android:id="@+id/btnCheck" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="110dp" 
android:text="多选对话框"/> 
<Button 
android:id="@+id/btnList" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="160dp" 
android:text="列表对话框"/> 
<Button 
android:id="@+id/btnMy" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="210dp" 
android:text="自定义对话框"/> 
</RelativeLayout> 

2.新建dialog.xml页面,作为最后一个自定义对话框的布局页面。

dialog.xml页面:


<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 
<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 
<EditText 
android:id="@+id/edInput" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_weight="2" > 
<requestFocus /> 
</EditText> 
<Button 
android:id="@+id/btnOk" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_weight="1" 
android:text="确定" /> 
</LinearLayout> 
<ImageView 
android:id="@+id/ivPicture" 
android:layout_width="wrap_content" 
android:layout_height="280dp" 
android:src="@drawable/white" /> 
<TextView 
android:id="@+id/textView1" 
android:layout_gravity="center" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="TextView" /> 
</LinearLayout> 

3.MainActivity.java页面处理对话框的弹出及点击事件。

MainActivity.java页面:


package com.example.alertdialog; 
import android.os.Bundle; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 
public class MainActivity extends Activity implements OnClickListener { 
private Button btnSure,btnRadio,btnCheck,btnList,btnMy; 
private String[] sexList={"男","女"};//单选列表 
private String[] likeList={"篮球","足球","打游戏","听音乐","看电影"};//多选列表 
private String[] itemList={"项目经理","策划","测试","美工","程序员"};//列表 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
getId();//获取控件id 
click();//按钮绑定点击事件 
} 
 
private void getId() { 
btnSure = (Button) findViewById(R.id.btnSure); 
btnRadio=(Button) findViewById(R.id.btnRadio); 
btnCheck=(Button) findViewById(R.id.btnCheck); 
btnList=(Button) findViewById(R.id.btnList); 
btnMy=(Button) findViewById(R.id.btnMy); 
} 
 
private void click() { 
btnSure.setOnClickListener(this); 
btnRadio.setOnClickListener(this); 
btnCheck.setOnClickListener(this); 
btnList.setOnClickListener(this); 
btnMy.setOnClickListener(this); 
} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
getMenuInflater().inflate(R.menu.main, menu); 
return true; 
} 
@Override 
public void onClick(View view) { 
switch (view.getId()) { 
case R.id.btnSure: 
showDialog1();//确认对话框 
break; 
case R.id.btnRadio: 
showDialog2();//单选对话框 
break; 
case R.id.btnCheck: 
showDialog3();//多选对话框 
break; 
case R.id.btnList: 
showDialog4(); 
break; 
case R.id.btnMy: 
showDialog5(); 
break; 
} 
} 
 
private void showDialog1() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("确认对话框");//设置标题 
builder.setIcon(R.drawable.ic_launcher);//设置图标 
builder.setMessage("确认对话框提示内容");//设置内容 
 
builder.setPositiveButton("确定",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface arg0, int arg1) { 
Toast.makeText(MainActivity.this,"点击了确定按钮",Toast.LENGTH_SHORT).show(); 
} 
}); 
 
builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface arg0, int arg1) { 
Toast.makeText(MainActivity.this,"点击了取消按钮",Toast.LENGTH_SHORT).show(); 
} 
}); 
AlertDialog dialog=builder.create();//获取dialog 
dialog.show();//显示对话框 
} 
 
private void showDialog2() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("性别");//设置标题 
builder.setIcon(R.drawable.ic_launcher);//设置图标 
 
builder.setSingleChoiceItems(sexList,-1,new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
String sex=sexList[which]; 
Toast.makeText(MainActivity.this,"这个人性别为"+sex, Toast.LENGTH_SHORT).show(); 
} 
}); 
 
builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
dialog.dismiss();//关闭对话框 
} 
}); 
AlertDialog dialog=builder.create();//获取dialog 
dialog.show();//显示对话框 
} 
 
private void showDialog3() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("爱好");//设置标题 
builder.setIcon(R.drawable.ic_launcher);//设置图标 
 
builder.setMultiChoiceItems(likeList,null,new DialogInterface.OnMultiChoiceClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
if(isChecked){ 
Toast.makeText(MainActivity.this,"我喜欢"+likeList[which],Toast.LENGTH_SHORT).show(); 
}else{ 
Toast.makeText(MainActivity.this,"我不喜欢"+likeList[which],Toast.LENGTH_SHORT).show(); 
} 
} 
}); 
 
builder.setNegativeButton("取消",new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
dialog.dismiss();//关闭对话框 
} 
}); 
AlertDialog dialog=builder.create();//获取dialog 
dialog.show();//显示对话框 
} 
 
private void showDialog4() { 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("部门列表");//设置标题 
builder.setIcon(R.drawable.ic_launcher);//设置图标 
builder.setItems(itemList,new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
Toast.makeText(MainActivity.this,"我点击了"+itemList[which],Toast.LENGTH_SHORT).show(); 
} 
}); 
AlertDialog dialog=builder.create();//获取dialog 
dialog.show();//显示对话框 
} 
 
private void showDialog5() { 
LayoutInflater inflater=LayoutInflater.from(this); 
View view=inflater.inflate(R.layout.dialog,null);//获取自定义布局 
AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setTitle("自定义对话框");//设置标题 
builder.setIcon(R.drawable.ic_launcher);//设置图标 
builder.setView(view);//设置自定义样式布局到对话框 
AlertDialog dialog=builder.create();//获取dialog 
dialog.show();//显示对话框 
} 
}

4.运行就出现目标效果了。

关于Android中AlertDialog各种对话框的用法就给大家介绍这么多,希望对大家有所帮助!

您可能感兴趣的文章:Android实现微信右侧顶部下拉对话框Android仿微信和QQ多图合并框架(类似群头像)的实现方法android仿支付宝、微信密码输入框效果Android 类似微信登录输入框效果Android 使用<layer-list>实现微信聊天输入框功能Android 仿微信朋友圈点赞和评论弹出框功能Android仿QQ、微信聊天界面长按提示框效果Android中自定义对话框(Dialog)的实例代码Android实现点击AlertDialog上按钮时不关闭对话框的方法Android开发实现模仿微信小窗口功能【Dialog对话框风格窗口】


--结束END--

本文标题: Android中AlertDialog各种对话框的用法实例详解

本文链接: https://www.lsjlt.com/news/25103.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android AlertDialog(对话框)实例详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框4、复选对话框6、自...
    99+
    2024-04-02
  • Android对话框AlertDialog详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框5.复选对话框6.自...
    99+
    2024-04-02
  • Android对话框AlertDialog的示例分析
    这篇文章将为大家详细讲解有关Android对话框AlertDialog的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有...
    99+
    2023-06-22
  • Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解
    目录一、提醒对话框AlertDialog二、日期对话框DatePickerDialog第一种-点击选择日期出现日历第二种-滚动选择日期三、时间对话框TimePickerDialog方...
    99+
    2024-04-02
  • Android AlertDialog的几种用法详解
    AlertDialog的几种用法 xml代码: <?xml version="1.0" encoding="utf-8"?> <LinearLa...
    99+
    2024-04-02
  • Android编程实现AlertDialog自定义弹出对话框的方法示例
    本文实例讲述了Android编程实现AlertDialog自定义弹出对话框的方法。分享给大家供大家参考,具体如下:弹出对话框,显示自定义的布局文件弹出对话框提示设置密码或登录密码private void showSetPasswordDia...
    99+
    2023-05-30
    android alertdialog 对话框
  • 如何在Android应用中使用AlertDialog实现一个对话框
    本篇文章为大家展示了如何在Android应用中使用AlertDialog实现一个对话框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、确定对话框AlertDialog.Builder builde...
    99+
    2023-05-31
    android alertdialog roi
  • Android对话框使用方法详解
    对话框(Dialog)是Android系统在Activity或者其他组件运行过程中提供的一种提示机制。它可以帮助应用完成一些必要的提示功能,同时提供一些与用户交互的功能。 对话框分为...
    99+
    2024-04-02
  • 详解Android Dialog对话框的五种形式
    Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义对话框。当然学会系统的,自定义就简单了...
    99+
    2023-05-31
    android dialog 对话框
  • 在Android应用中AlertDialog的点击按钮无法关闭对话框如何解决
    在Android应用中AlertDialog的点击按钮无法关闭对话框如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这里的问题:当我点击确定按钮,也就是 ...
    99+
    2023-05-31
    alertdialog android roi
  • 在Android应用中使用AlertDialog对话框可以实现哪些功能
    今天就跟大家聊聊有关在Android应用中使用AlertDialog对话框可以实现哪些功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。常用的Dialog有确认对话框,单选按钮对话框...
    99+
    2023-05-31
    android alertdialog roi
  • Android如何自定义升级对话框示例详解
    前言本文主要给大家介绍了关于Android自定义升级对话框的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。实现的效果如下所示其实这也只是一个DialogFragment 而已,重点只是在于界面的设计想要使用做出这...
    99+
    2023-05-30
    android 自定义 升级对话框
  • Android中FileProvider的各种场景应用详解
    目录前言一、常规使用与定义二、能不能自定义接收文件?三、能不能主动查询对方的沙盒?总结前言 有部分同学只要是上传或者下载,只要用到了文件,不管三七二十一写个 FileProvider...
    99+
    2024-04-02
  • Vue对话框组件使用方法详解
    本文实例为大家分享了Vue对话框组件的使用,供大家参考,具体内容如下 效果如下图所示:(整体样式模仿ant-design-vue Modal样式,同时阴影覆盖浏览器窗口) ①创建组...
    99+
    2024-04-02
  • nginx中proxy_pass各种用法详解
    目录代理转发规则第一种:第二种:第三种:第四种:第五种:代理转发规则 nginx中配置location代理转发规则的时候不同写法对应不同转发规则。 如果proxy_pass使用了UR...
    99+
    2024-04-02
  • 详解Java中String类的各种用法
    目录一、创建字符串二、字符、字节与字符串的转换1.字符与字符串的转换2.字节与字符串的转换三、字符串的比较1.字符串常量池2.字符串内容比较四、字符串查找五、字符串替换六、字符串拆分...
    99+
    2024-04-02
  • C++const的各种用法详解
    目录const的基本概念:一、const修饰基本数据类型 1.const修饰一般常量及数组  2.const修饰指针变量*及引用变量& ...
    99+
    2023-05-17
    C++ const用法介绍 C++ const用法 C++ const
  • React创建对话框组件的方法实例
    原生的前端体系创建一个对话框可是再简单不过了。但是如果放到组件化思想下的react体系中,想要制作一个属于自己的对话框还是有一定的麻烦的。主要遇到的问题有两个:一是如何在子组件中创建...
    99+
    2024-04-02
  • vue3动态加载对话框的方法实例
    目录简介常规方式使用对话框异步动态加载使用方式TestModal.vue使用结果动态操作对话框的实现DzModalService.tsmain.ts总结简介 介绍使用vue3的异步组...
    99+
    2024-04-02
  • MFC中的文件对话框类CFileDialog详解
    CFileDialog是MFC中的一个文件对话框类,用于打开或保存文件时显示文件选择对话框。CFileDialog类继承自CComm...
    99+
    2023-09-13
    详解
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作