• 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>
    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    附加数据库报错:无法打开物理文件 XXX.mdf",操作系统错误 5:"5(拒绝访问。)"
    Java(TM) SE Development Kit 6 卸载不掉怎么办
    (转)WCF入门教程(一)简介
    (转)SQL Server 2008怎样编辑200行以上的数据
    远程桌面下如何打开任务管理器
    在 sys.servers 中找不到服务器的解决办法,自己解决的
    MySQL 8小时问题
    Spring 事件机制
    MapReduce架构
    HDFS架构
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4544784.html
Copyright © 2020-2023  润新知