020_01UI组件之Dialog详细用法

先上图:

点击“对话框1”,弹出如下对话框:

点击“对话框2”,弹出如下对话框:

点击“单选对话框”,弹出如下对话框:

点击“多选对话框”,弹出如下对话框:

点击“等待对话框”,弹出如下对话框:

点击“进度对话框”,弹出如下对话框:

源代码如下:

  1 package com.example.day20_01dialogdemo;
  2
  3 import android.app.Activity;
  4 import android.app.AlertDialog.Builder;
  5 import android.app.ProgressDialog;
  6 import android.content.DialogInterface;
  7 import android.content.DialogInterface.OnClickListener;
  8 import android.content.DialogInterface.OnMultiChoiceClickListener;
  9 import android.content.Intent;
 10 import android.net.Uri;
 11 import android.os.Bundle;
 12 import android.os.SystemClock;
 13 import android.view.View;
 14 import android.widget.Toast;
 15
 16 public class MainActivity extends Activity {
 17
 18     @Override
 19     protected void onCreate(Bundle savedInstanceState) {
 20         super.onCreate(savedInstanceState);
 21         setContentView(R.layout.activity_main);
 22     }
 23
 24     public void showDialog1(View v){
 25
 26         //Dialog实现1:
 27 /*       Builder builder =  new Builder(this) ;
 28        builder.setTitle("Android 培训");
 29        builder.setMessage("是否浏览王道论坛?");
 30        builder.setPositiveButton("确认", new OnClickListener() {
 31         @Override
 32         public void onClick(DialogInterface dialog, int which) {
 33             // TODO Auto-generated method stub
 34             Intent intent = new Intent();
 35             intent.setAction(Intent.ACTION_VIEW);
 36             Uri uri =Uri.parse("http://www.cskaoyan.com/");
 37             intent.setData(uri);
 38             //定义的intent里面么有规定type
 39             startActivity(intent);
 40
 41             Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.cskaoyan.com/"));
 42             startActivity(intent);
 43         }
 44         });
 45        builder.setNegativeButton("取消", null);
 46        builder.show();*/
 47
 48
 49        //Dialog实现2
 50 /*       Builder builder =  new Builder(this) ;
 51        builder.setTitle("Android 培训");
 52        builder.setMessage("是否浏览王道论坛?");
 53        builder.setPositiveButton("确认", new OnClickListener() {
 54         @Override
 55         public void onClick(DialogInterface dialog, int which) {
 56             // TODO Auto-generated method stub
 57             Intent intent = new Intent();
 58             intent.setAction(Intent.ACTION_VIEW);
 59             Uri uri =Uri.parse("http://www.cskaoyan.com/");
 60             intent.setData(uri);
 61             //定义的intent里面么有规定type
 62             startActivity(intent);
 63
 64             Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.cskaoyan.com/"));
 65             startActivity(intent);
 66         }
 67         });
 68        builder.setNegativeButton("取消", null);
 69        Dialog dialog = builder.create();
 70        dialog.show();*/
 71
 72           //Dialog实现3 Dialog 的链式调用实现
 73           // Builder builder =
 74              new Builder(this)
 75             .setTitle("Android 培训")
 76             .setMessage("是否浏览王道论坛?")
 77             .setPositiveButton("确认", new OnClickListener() {
 78             @Override
 79             public void onClick(DialogInterface dialog, int which) {
 80                 // TODO Auto-generated method stub
 81                 Intent intent = new Intent();
 82                 intent.setAction(Intent.ACTION_VIEW);
 83                 Uri uri =Uri.parse("http://www.cskaoyan.com/");
 84                 intent.setData(uri);
 85                 //定义的intent里面么有规定type
 86                 startActivity(intent);
 87                 /*Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.cskaoyan.com/"));
 88                 startActivity(intent);*/
 89             }
 90             })
 91             .setNegativeButton("取消", null)
 92             .show();
 93       // Toast.makeText(context, text, duration);
 94     }
 95
 96
 97     public void showDialog2(View v){
 98          final String[] items = {"c","java" ,"c++"};
 99         new Builder(this)
100         .setTitle("请选择学习的内容")
101         .setItems(items, new OnClickListener() {
102
103             @Override
104             public void onClick(DialogInterface dialog, int which) {
105                 // TODO Auto-generated method stub
106                 System.out
107                         .println("MainActivity.showDialog2(...).new OnClickListener() {...}.onClick()"+which);
108                 String choice = items[which];
109                 Toast.makeText(MainActivity.this, choice, 1).show();
110             }
111         })
112         .show();
113     }
114
115     public void showDialog3(View v){
116          final String[] items = {"c","java" ,"c++"};
117         new Builder(this)
118         .setTitle("请选择学习的内容")
119         .setSingleChoiceItems(items, -1, new OnClickListener() {
120
121             @Override
122             public void onClick(DialogInterface dialog, int which) {
123                 // TODO Auto-generated method stub
124                 dialog.cancel();
125                 Toast.makeText(MainActivity.this, items[which], 1).show();
126             }
127         })
128         .show();
129
130     }
131
132
133     public void showDialog4(View v){
134         final String[] items = {"c","java" ,"c++"};
135         new Builder(this)
136         .setTitle("请选择学习的内容")
137           .setMultiChoiceItems(items, new boolean[]{true,false,true}, new OnMultiChoiceClickListener() {
138
139             @Override
140             public void onClick(DialogInterface dialog, int which, boolean isChecked) {
141                 // TODO Auto-generated method stub
142                  if (isChecked) {
143                     Toast.makeText(MainActivity.this, items[which], 1).show();
144                 }
145             }
146         })
147         .setPositiveButton("确定", new OnClickListener() {
148
149             @Override
150             public void onClick(DialogInterface dialog, int which) {
151                 // TODO Auto-generated method stub
152                 dialog.cancel();
153             }
154         })
155         .show();
156     }
157
158     public void showDialog5(View v){
159
160      final  ProgressDialog dialog =    ProgressDialog.show(this, "警告", "我们正在升级系统,并不要乱按按钮。耐心等待");
161
162       new Thread(new Runnable() {
163
164         @Override
165         public void run() {
166             // TODO Auto-generated method stub
167             /*try {
168                 Thread.sleep(2000);
169             } catch (InterruptedException e) {
170                 // TODO Auto-generated catch block
171                 e.printStackTrace();
172             }*/
173             SystemClock.sleep(2000);
174             dialog.cancel();
175         }
176      }).start();
177     }
178
179     public void showDialog6(View v){
180          final  ProgressDialog dialog =    new ProgressDialog(this);
181          dialog.setTitle("提示");
182          dialog.setMessage("我们正在下载,请耐心等待");
183          dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
184          dialog.setMax(100);
185
186          dialog.show();
187
188          new Thread(new Runnable() {
189                 @Override
190                 public void run() {
191                 int i = 0;
192                 while(true){
193
194                     //ProgressBar 这种控件是可以在子线程里更新UI的
195                     dialog.setProgress(i++);
196                     SystemClock.sleep(100);
197                     if (i>100) {
198                         break;
199                     }
200                 }
201                 dialog.cancel();
202
203                 }
204              }).start();
205     }
206 }
 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:orientation="vertical"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.day20_01dialogdemo.MainActivity" >
11
12     <TextView
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="@string/hello_world" />
16
17     <Button
18         android:layout_width="wrap_content"
19         android:layout_height="wrap_content"
20         android:text="对话框1"
21         android:onClick="showDialog1" />
22
23     <Button
24         android:layout_width="wrap_content"
25         android:layout_height="wrap_content"
26         android:text="对话框2"
27         android:onClick="showDialog2" />
28
29     <Button
30         android:layout_width="wrap_content"
31         android:layout_height="wrap_content"
32         android:text="单选对话框"
33         android:onClick="showDialog3"  />
34
35     <Button
36         android:layout_width="wrap_content"
37         android:layout_height="wrap_content"
38         android:text="多选对话框"
39         android:onClick="showDialog4" />
40
41     <Button
42         android:layout_width="wrap_content"
43         android:layout_height="wrap_content"
44         android:text="等待对话框"
45         android:onClick="showDialog5" />
46
47     <Button
48         android:layout_width="wrap_content"
49         android:layout_height="wrap_content"
50         android:text="进度对话框"
51         android:onClick="showDialog6"/>
52 </LinearLayout>
时间: 2024-10-10 02:17:31

020_01UI组件之Dialog详细用法的相关文章

(转载)Android常用的Dialog对话框用法

Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. 1 import android.app.ProgressDialog; 2 import android.content.DialogInterface; 3 import android.os.Bundle; 4 import android.os.Sys

C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法

C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx.DirectSound.dll2.引入DirectX 的DLL文件的名字空间:  [C#] 纯文本查看 复制代码 ? 01 02 using Microsoft.DirectX; usingMicrosoft.DirectX.DirectSound; 3.建立设备Device dv=newDevi

Android开发中Context类的作用以及Context的详细用法

Android中Context的作用以及Context的详细用法 本文我们一起来探讨一下关于Android中Context的作用以及Context的详细用法,这对我们学习Android的资源访问有很大的帮助,文章中也贴出了一些关于Android Context使用的示例代码,非常不错,以下是原文: Context基本概念 Context是什么? 1) Context是一个抽象类,其通用实现在ContextImpl类中. 2) Context:是一个访问application环境全局信息的接口,通

vue-router有哪几种导航钩子 keep-alive的详细用法 解决跨域

1===>vue-router有哪几种导航钩子? 第一种:是全局导航钩子:router.beforeEach(to,from,next) 第二种: 组件内的钩子 beforeRouteEnter(to, from, next) { 在渲染该组件的对应路由被 confirm 前调用 }, beforeRouteUpdate(to, from, next) { 在当前路由改变,但是依然渲染该组件是调用 }, beforeRouteLeave(to, from ,next) { 导航离开该组件的对应路

Display:Block 详细用法

根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为"block",成为"块级"元素(block-level):而span元素的默认display属性值为"inline",称为"行内"元素. 块级元素: 动占据一定矩形空间,可以通过设置高度.宽度.内外边距等属性,来调整的这个矩形的样子: 行内元素: 自己的

DOM Style样式对象的详细用法

DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head>     <style type="text/css">                /* 内部样式 */       h3 {color:green;}     </style>             <!-- 外部样式 style.css -->    

文件/目录权限设置命令chmod的详细用法

chmod是文件/目录权限设置的命令,在Linux中经常遇到,本博文以下总结chmod的详细用法. Linux/Unix的档案调用权限分为三级,即档案拥有者user.群组group.其他other.u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是. + 表示增加权限.- 表示取消权限.= 表示唯一设定权限. r表示可读取,w表示可写入,x表示可执行. 举例说明: (1).将档案file1.txt 设为所有人皆可读取: chmod u

mysql中游标在存储过程中的详细用法

昨天写的一个东东,分享下给大家. drop PROCEDURE  if exists sp_cleanUserData; CREATE  PROCEDURE `sp_cleanUserData`() BEGIN /*定义游标*/ declare v_dt bigint(20) default 0 ; declare v_num INT DEFAULT 0; /*游标循环到末尾时给定义的常量赋值*/ declare cur_userId   CURSOR FOR select  userId fr

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以