Android AlertDialog 6种不同效果使用方法

2024-09-07 05:32

本文主要是介绍Android AlertDialog 6种不同效果使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


摘自《疯狂Android讲义 第3版》


package shortcut.song.com.myapplication;import android.content.Context;
import android.content.DialogInterface;
import android.database.DataSetObserver;
import android.icu.text.SimpleDateFormat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.NumberPicker;
import android.widget.RatingBar;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.TimePicker;import java.util.Calendar;
import java.util.Date;public class AlertDialogActivity extends AppCompatActivity implements View.OnClickListener{Button mButton1;Button mButton2;Button mButton3;Button mButton4;Button mButton5;Button mButton6;@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_alert_dialog);mButton1 = (Button)findViewById(R.id.button_alert1);mButton2 = (Button)findViewById(R.id.button_alert2);mButton3 = (Button)findViewById(R.id.button_alert3);mButton4 = (Button)findViewById(R.id.button_alert4);mButton5 = (Button)findViewById(R.id.button_alert5);mButton6 = (Button)findViewById(R.id.button_alert6);mButton1.setOnClickListener(this);mButton2.setOnClickListener(this);mButton3.setOnClickListener(this);mButton4.setOnClickListener(this);mButton5.setOnClickListener(this);mButton6.setOnClickListener(this);@Override
    public void onClick(View v) {switch(v.getId()){case R.id.button_alert1:Builder builder = new AlertDialog.Builder(this);builder.setIcon(R.drawable.alert_dialog_icon);builder.setTitle("AlertDialog Title");builder.setMessage("AlertDialog Message");builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "Ok button",Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "Cancel Button", Toast.LENGTH_SHORT).show();}});builder.show();break;case R.id.button_alert2:Builder builder2 = new AlertDialog.Builder(this);builder2.setIcon(R.drawable.alert_dialog_icon);builder2.setTitle("System Dialog");builder2.setMessage("This is System Alert Dialog!");builder2.setPositiveButton("Ok", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});builder2.setNeutralButton("Dital", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});builder2.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});builder2.show();break;case R.id.button_alert3:LayoutInflater inflater = LayoutInflater.from(this);//LayoutInflater inflater = getLayoutInflater();
                final View mAlertEnterView = inflater.inflate(R.layout.alertdialog_layout, null);final EditText userEdit = (EditText)mAlertEnterView.findViewById(R.id.user_edit);final EditText passwdEdit = (EditText)mAlertEnterView.findViewById(R.id.passwd_edit);new AlertDialog.Builder(this).setTitle("Login").setIcon(R.drawable.alert_dialog_icon).setMessage("Please input user and passwd!").setView(mAlertEnterView).setPositiveButton("Ok", new DialogInterface.OnClickListener() {@Override
                            public void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "User:"+userEdit.getText().toString()+"  Passwd:"+ passwdEdit.getText().toString(),Toast.LENGTH_SHORT).show();}}).setNeutralButton("MID", new DialogInterface.OnClickListener() {@Override
                            public void onClick(DialogInterface dialog, int which) {}}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Override
                            public void onClick(DialogInterface dialog, int which) {}}).show();break;case R.id.button_alert4://进度条 对话框
                ProgressDialog progress = new ProgressDialog(this);progress.setTitle("Progress ...");progress.setMessage("Copying ...");//progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//水平进度条
                progress.setProgressStyle(ProgressDialog.STYLE_SPINNER); //圆圈
                progress.show();progress.setMax(100);progress.setProgress(50);break;case R.id.button_alert5:String choices [] = {"Red", "Green","Blue","Yellow"};AlertDialog.Builder mChoicesBuilder = new AlertDialog.Builder(this);mChoicesBuilder.setIcon(R.drawable.alert_dialog_icon);mChoicesBuilder.setTitle("CCC Seletect");//mChoicesBuilder.setMessage("Please checik.");//不能设置Message 否则Choices Items 显示不出来。
                mChoicesBuilder.setSingleChoiceItems(choices, 1, new DialogInterface.OnClickListener(){@Override
                    public void onClick(DialogInterface dialog, int which) {switch ( which ){case 0:break;case 1:break;case 2:break;default:break;}}});mChoicesBuilder.show();break;case R.id.button_alert6:boolean checked[]={false, true, true, false};AlertDialog.Builder mMulitChoice = new AlertDialog.Builder(this);mMulitChoice.setIcon(R.drawable.alert_dialog_icon);mMulitChoice.setTitle("Color Choices");//mMulitChoice.setMessage("") //多选对话框不能调Message,否则多选项显示不出来
                mMulitChoice.setMultiChoiceItems(new String[]{"A", "b", "c", "d"}, checked, new DialogInterface.OnMultiChoiceClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {}});mMulitChoice.setPositiveButton("Ok", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});mMulitChoice.setNeutralButton("Ditail", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});mMulitChoice.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {@Override
                    public void onClick(DialogInterface dialog, int which) {}});mMulitChoice.show();break;default:break;}}
}
 
 
 
Layout文件内容
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_alert_dialog"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="shortcut.song.com.myapplication.AlertDialogActivity"><Button
        android:id="@+id/button_alert1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Alert1"
        /><Button
        android:id="@+id/button_alert2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button_alert1"
        android:text="Alert2"
        /><Button
        android:id="@+id/button_alert3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button_alert2"
        android:text="Alert3"
        /><Button
        android:id="@+id/button_alert4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button_alert3"
        android:text="Alert4"
        /><Button
        android:id="@+id/button_alert5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button_alert4"
        android:text="Alert5"
        /><Button
        android:id="@+id/button_alert6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/button_alert5"
        android:text="Alert6"
        />
</RelativeLayout>
 
 
 
 
Alert1:

 
 
Alert2:

 
Alert2:

 
Alert4:

 
Alert5:

 
Alert6:

这篇关于Android AlertDialog 6种不同效果使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144186

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多