有普通对话框,单选对话框,复选对话框,进度条的两种实现方法话不多说,直接上代码

activity_main.xml:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/mainLinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通对话框"
android:onClick="normalDialog"/> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选对话框"
android:onClick="singleDialog"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="复选对话框"
android:onClick="MultiDialog"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="进度条对话框"
android:onClick="progressDialog"/>
<Button
android:id="@+id/downlodebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="进度条对话框"
android:onClick="progressDialog"/>
</LinearLayout> </android.support.constraint.ConstraintLayout>

MainActivity.java:

 package com.lgqrlchinese.dialogtext;

 import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.SystemClock;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Toast; public class MainActivity extends AppCompatActivity {
protected String result; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progerssNow();
} //普通对话框
public void normalDialog(View view) {
//构建器
AlertDialog.Builder b = new AlertDialog.Builder(this);
//设置标题
b.setTitle("普通对话框");
//设置提示信息
b.setMessage("是否确定退出");
//设置图标
b.setIcon(R.drawable.ic_launcher_background);
//添加确定按钮
b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();
}
});
//添加取消按钮
b.setNegativeButton("取消", null);
//创建对话框
b.create();
//显示
b.show();
} //单选对话框
public void singleDialog(View view) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("单选对话框");
//选项内容
final String item[] = {"A", "B", "C", "D"};
//setSingleChoiceItems(显示的选项内容,默认值,监听事件)
b.setSingleChoiceItems(item, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//取出数组中的数据
result = item[i];
//吐司显示出来
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
}
});
//设置确定按钮
b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), "选择的结果是" + result, Toast.LENGTH_SHORT).show();
}
}); b.create();
b.show();
} //复选对话框
public void MultiDialog(View view) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("复选框对话框");
b.setIcon(R.drawable.ic_launcher_background);
//设置选项
final String item[] = {"A", "B", "C", "D"};
//设置默认值
final boolean chechedItem[] = {true, false, true, true};
//设置多选setMultiChoiceItems(选项数组,默认值,监听事件)
b.setMultiChoiceItems(item, chechedItem, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) { }
});
b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
StringBuffer stringBuffer = new StringBuffer();
for (int i1 = 0; i1 < chechedItem.length; i1++) {
if (chechedItem[i1]) {
stringBuffer.append(item[i1] + " ");
}
}
Toast.makeText(getApplicationContext(), stringBuffer.toString(), Toast.LENGTH_SHORT).show();
}
});
b.create();
b.show();
} //进度条对话框
/*
* 在API level 26 中,ProgressDialog被声明不赞成使用,应使用的替代方法是ProgressBar
* */
public void progressDialog(View view) {
final ProgressDialog progressDialog = new ProgressDialog(this);
//设置标题
progressDialog.setTitle("正在加载中》》》");
//设置样式
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//(模拟下载)线程睡眠
new Thread() {
@Override
public void run() {
//设置最大值
progressDialog.setMax(100);
//设置当前值
for (int i = 0; i < 100; i++) {
progressDialog.setProgress(i);
SystemClock.sleep(500);
}
progressDialog.dismiss();
}
}.start();
progressDialog.show();
} //进度条对话框(推荐使用)
public void progerssNow() {
LinearLayout mainLayout;
Button downlodebutton;
mainLayout = findViewById(R.id.mainLinearLayout);
downlodebutton = findViewById(R.id.downlodebutton);
final ProgressBar progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
downlodebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread() {
@Override
public void run() { progressBar.setMax(100);
for (int i = 0; i < 100; i++) {
progressBar.setProgress(i);
SystemClock.sleep(12);
} }
}.start();
}
});
mainLayout.addView(progressBar);
}
}

四种对话框(dialog)的简单使用方法的更多相关文章

  1. [转]分享php中四种webservice实现的简单架构方法及实例

    FROM : http://www.itokit.com/2012/0417/73615_2.html 本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的P ...

  2. 分享php中四种webservice实现的简单架构方法及实例

    一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client).要使用php本身的soap首先要把该拓展安装好并且启用.下面看具体的code首先这是服务端实现: ...

  3. 分享php中四种webservice实现的简单架构方法及实例(转)

    本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC,以及使用二进制传输数据流的 HessianPHP,那么一下就简单的介绍下这几种webserv ...

  4. 分享php中四种webservice实现的简单架构方法及实例[转载]

    [转载]http://www.itokit.com/2012/0417/73615.html 本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC ...

  5. Map集合遍历的四种方式理解和简单使用-----不能for循环遍历

    Map集合遍历的四种方式理解和简单使用   ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...

  6. Android下常见的四种对话框

    摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框.单选对话框.多选对话框.进度对话框. 一.普度对话框 public void ...

  7. 【Android】Android 8种对话框(Dialog)

    1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍 ...

  8. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理.目前的数 ...

  9. Map集合遍历的四种方式理解和简单使用

    ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:m ...

  10. Android 关于Activity的四种启动模式的简单介绍

    Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...

随机推荐

  1. 2018年计划小目标(9月)PMP

    从6.23结束敏捷的系统贯穿学习考试,6.24开始做传统项目管理,系统学习计划,打包报考,(╥╯^╰╥):ACP+实战+PMP+软考,历时两个月 每天上下班路上3个小时,听录音,(报的远程班,倍速听了 ...

  2. maven新建项目

    选择新建maven project  这个文件通常作为父工程,用于管理jar包的依赖,锁定jar包版本 选择next group id :如表面意思  组织名  公司名  artifact id :工 ...

  3. Palindromic characteristics CodeForces - 835D (区间DP,预处理回文串问题)

    Palindromic characteristics of string s with length |s| is a sequence of |s|integers, where k-th num ...

  4. PlainElastic.Net

    PlainElastic.Net PlainElastic.Net The really plain Elastic Search .Net client. Idea Installation How ...

  5. (Git 学习)Git SSH Key 创建步骤

    首先感谢segmentfalut上的朋友对我帮助. 首先:查看你是否有../ssh 这个文件:怎么查看:找到你的git安装目录,在安装目录下查看是否./ssh,以我的为例: 在C盘/Users/11/ ...

  6. 10-vue的介绍

    vue的作者叫尤雨溪,中国人.自认为很牛逼的人物,也是我的崇拜之神. 关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣.https://mp.weixin.qq. ...

  7. nginx强制使用https访问(http跳转到https)

    Nginx 的 Location 从零开始配置 - 市民 - SegmentFault 思否https://segmentfault.com/a/1190000009651161 nginx配置loc ...

  8. php变量详解

    变量是用于存储信息的"容器". 定义一个变量的语法: $变量名 = 值; 使用变量的例子: <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> ...

  9. 解决小程序webview缓存机制

    在打开webview的时候在地址后面加上随机数或者字符串 并且H5页面使用文件hash

  10. PermGen space 内存溢出

    1.修改D:\tools\tomcat\tomcat - 7\apache-tomcat-7.0.91\bin tomcat 路径下bin 文件的catalina.bat文件 添加 JAVA_OPTS ...