Android中Dialog对话框(未完待续)

布局文件xml:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 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=".DialogActivity" >
11
12     <Button
13         android:id="@+id/plainDialog"
14         android:layout_width="match_parent"
15         android:layout_height="wrap_content"
16         android:text="普通Dialog" />
17
18     <Button
19         android:id="@+id/plainDialogEvent"
20         android:layout_width="match_parent"
21         android:layout_height="wrap_content"
22         android:text="Dialog按钮事件集中处理" />
23
24     <Button
25         android:id="@+id/inputDialog"
26         android:layout_width="match_parent"
27         android:layout_height="wrap_content"
28         android:text="请输入框" />
29
30     <Button
31         android:id="@+id/listDialog"
32         android:layout_width="match_parent"
33         android:layout_height="wrap_content"
34         android:text="列表对话框" />
35
36     <Button
37         android:id="@+id/radioDialog"
38         android:layout_width="match_parent"
39         android:layout_height="wrap_content"
40         android:text="单选对话框" />
41
42     <Button
43         android:id="@+id/checkboxDialog"
44         android:layout_width="match_parent"
45         android:layout_height="wrap_content"
46         android:text="多选对话框" />
47
48     <Button
49         android:id="@+id/diyDialog"
50         android:layout_width="match_parent"
51         android:layout_height="wrap_content"
52         android:text="自定义布局对话框" />
53
54 </LinearLayout>

Activity文件:

普通的dialog:

 1 private void plainDialogDemo() {
 2
 3         Button plainBtn = (Button) findViewById(R.id.plainDialog);
 4         plainBtn.setOnClickListener(new OnClickListener() {
 5
 6             public void onClick(View v) {
 7
 8                 new AlertDialog.Builder(DialogActivity.this)
 9                         .setTitle("删除")
10                         .setMessage("确定删除指定数据")
11                         .setPositiveButton("确定",
12                                 new DialogInterface.OnClickListener() {
13
14                                     @Override
15                                     public void onClick(DialogInterface dialog,
16                                             int which) {
17                                         Toast.makeText(getApplicationContext(),
18                                                 "确定了", Toast.LENGTH_SHORT)
19                                                 .show();
20                                     }
21                                 })
22                         .setNegativeButton("取消",
23                                 new DialogInterface.OnClickListener() {
24
25                                     @Override
26                                     public void onClick(DialogInterface dialog,
27                                             int which) {
28                                     }
29                                 }).setCancelable(false).show();
30             }
31         });
32     }

效果如下:

输入文本框的dialog:

 1 private void inputDialog() {
 2         Button inputBtn = (Button) findViewById(R.id.inputDialog);
 3         inputBtn.setOnClickListener(new OnClickListener() {
 4
 5             @Override
 6             public void onClick(View v) {
 7                 // TODO Auto-generated method stub
 8                 final EditText et = new EditText(DialogActivity.this);
 9                 new AlertDialog.Builder(DialogActivity.this)
10                         .setTitle("请输入数字")
11                         .setView(et)
12                         .setPositiveButton("确定",
13                                 new DialogInterface.OnClickListener() {
14
15                                     @Override
16                                     public void onClick(DialogInterface dialog,
17                                             int which) {
18                                         // TODO Auto-generated method stub
19                                         Toast.makeText(getApplicationContext(),
20                                                 et.getText(),
21                                                 Toast.LENGTH_SHORT).show();
22                                     }
23                                 }).setNegativeButton("取消", null)
24                         .setCancelable(false).show();
25             }
26         });
27     }

效果如下:

列表dialog:

private void listDialogDemo() {
        Button listBtn = (Button) findViewById(R.id.listDialog);
        listBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                final String[] names = { "C罗", "J罗", "H罗" };
                new AlertDialog.Builder(DialogActivity.this).setTitle("列表对话框")
                        .setItems(names, new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                Toast.makeText(DialogActivity.this,
                                        names[which], Toast.LENGTH_SHORT)
                                        .show();
                            }
                        }).setNegativeButton("取消", null).show();
            }
        });
    }

效果如下:

单选dialog:

 1 private void radioDialogDemo() {
 2         Button radioButton = (Button) findViewById(R.id.radioDialog);
 3         radioButton.setOnClickListener(new OnClickListener() {
 4
 5             @Override
 6             public void onClick(View v) {
 7
 8                 final String[] names = { "C罗", "J罗", "H罗" };
 9                 new AlertDialog.Builder(DialogActivity.this)
10                         .setTitle("列表对话框")
11                         .setSingleChoiceItems(names, 0,
12                                 new DialogInterface.OnClickListener() {
13
14                                     @Override
15                                     public void onClick(DialogInterface dialog,
16                                             int which) {
17
18                                         selecteName = names[which];
19                                     }
20                                 })
21                         .setPositiveButton("确定",
22                                 new DialogInterface.OnClickListener() {
23
24                                     @Override
25                                     public void onClick(DialogInterface dialog,
26                                             int which) {
27
28                                         Toast.makeText(DialogActivity.this,
29                                                 selecteName, Toast.LENGTH_SHORT)
30                                                 .show();
31                                     }
32                                 }).setNegativeButton("取消", null).show();
33             }
34         });
35     }

效果如下:

多选dialog:

 1 private void checkDialogDemo() {
 2         Button checkBtn = (Button) findViewById(R.id.checkboxDialog);
 3         checkBtn.setOnClickListener(new OnClickListener() {
 4
 5             @Override
 6             public void onClick(View v) {
 7                 final String[] names = { "C罗", "J罗", "H罗" };
 8                 final boolean[] selected = new boolean[] { true, false, true };
 9                 new AlertDialog.Builder(DialogActivity.this)
10                         .setMultiChoiceItems(
11                                 names,
12                                 selected,
13                                 new DialogInterface.OnMultiChoiceClickListener() {
14
15                                     @Override
16                                     public void onClick(DialogInterface dialog,
17                                             int which, boolean isChecked) {
18
19                                     }
20                                 })
21                         .setPositiveButton("确定",
22                                 new DialogInterface.OnClickListener() {
23
24                                     @Override
25                                     public void onClick(DialogInterface dialog,
26                                             int which) {
27                                         StringBuilder sb = new StringBuilder(
28                                                 "你选择了:");
29                                         for (int i = 0; i < names.length; i++) {
30                                             if (selected[i]) {
31                                                 sb.append(names[i]);
32                                             }
33                                         }
34                                         Toast.makeText(DialogActivity.this,
35                                                 sb.toString(), 1).show();
36                                     }
37                                 }).setNegativeButton("取消", null).show();
38             }
39         });
40     }

效果如下:

自定义dialog:

 1 private void customDialogDemo() {
 2         final AlertDialog dlg = new AlertDialog.Builder(this).create();
 3         dlg.show();
 4         Window window = dlg.getWindow();
 5         window.setContentView(R.layout.diylayout);
 6         ImageButton ok = (ImageButton) window.findViewById(R.id.btnok);
 7         ok.setOnClickListener(new View.OnClickListener() {
 8
 9             @Override
10             public void onClick(View v) {
11                 Toast.makeText(getApplicationContext(), "关闭了",
12                         Toast.LENGTH_SHORT).show();
13                 dlg.dismiss();
14             }
15         });
16     }

自定义布局:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <ImageView
 7         android:id="@+id/dialogimg"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:layout_centerInParent="true"
11         android:src="@drawable/dialog_bg" />
12
13     <TextView
14         android:layout_width="wrap_content"
15         android:layout_height="wrap_content"
16         android:layout_alignLeft="@id/dialogimg"
17         android:layout_alignTop="@id/dialogimg"
18         android:layout_marginLeft="50dp"
19         android:layout_marginTop="60dp"
20         android:text="自定义的dialog" />
21
22     <ImageButton
23         android:id="@+id/btnok"
24         android:layout_width="30dp"
25         android:layout_height="30dp"
26         android:layout_alignRight="@id/dialogimg"
27         android:layout_alignTop="@id/dialogimg"
28         android:layout_marginRight="15dp"
29         android:layout_marginTop="15dp"
30         android:background="@drawable/close_dialog" />
31
32 </RelativeLayout>

效果如下:

时间: 2024-10-16 16:58:13

Android中Dialog对话框(未完待续)的相关文章

Android中Dialog对话框的调用及监听

Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter,C#中C/S中常用MessgeBox,总而言之就是一个功能弹,弹,弹,本文就简单的叙述一下Dialog的各种弹框使用及监听,顺便写了一个简单的自定义弹框,接下来请看正文: 一般对话框 先看下整个App页面: 看下一般对话框的结果: 具体代码的实现,其中定义了两个按钮,一个是确定(PositiveBu

Android中Dialog对话框

布局文件xml: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5

whatweb.rb 未完待续

#!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$. $ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$. $ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$

Android中Dialog

在Android中,Dialog是一个非常重要的UI, 它可以方便的给用户提示,用最简洁的方式向用户展示信息, 以下的图片是Dialog的一个整体架构,通过它,可以总体对Dialog有一个很清晰的认识. 从这张图中可以看到,Dialog为父类, 其下有最重要的, 我们最常用的AlertDilog, 而AlertDialog的子类,则是由DatPicker, ProgressDialog,TimePick来组成. 这几个子类都是我们在程序开发中最常用的,因此要重点理解, 我们可以试着想像一下,如下

[译]App Framework 2.1 (1)之 Quickstart (未完待续)

最近有移动App项目,选择了 Hybrid 的框架Cordova  和  App Framework 框架开发. 本来应该从配置循序渐进开始写的,但由于上班时间太忙,这段时间抽不出空来,只能根据心情和兴趣,想到哪写到哪,前面的部分以后慢慢补上. App Framework 前生是是叫 jqMobi 注意大家不要和 jQuery Mobile 混淆了,它们是两个不同的框架,一开始我还真混淆了0.01秒. 这里我先翻译一下Quickstart 部分,一是自己工作上用的上,二是也想顺便练练英文,最关键

数据结构与算法之--高级排序:shell排序和快速排序【未完待续】

高级排序比简单排序要快的多,简单排序的时间复杂度是O(N^2),希尔(shell)排序的是O(N*(logN)^2),而快速排序是O(N*logN). 说明:下面以int数组的从小到大排序为例. 希尔(shell)排序 希尔排序是基于插入排序的,首先回顾一下插入排序,假设插入是从左向右执行的,待插入元素的左边是有序的,且假如待插入元素比左边的都小,就需要挪动左边的所有元素,如下图所示: ==> 图1和图2:插入右边的temp柱需要outer标记位左边的五个柱子都向右挪动 如图3所示,相比插入排序

git个人使用总结 —— idea命令行、撤销commit (未完待续)

近期在使用git,最开始在idea界面操作,后来要求用命令行.刚开始还不是很习惯,感觉很麻烦,用了几天后感觉爽极了! 其实git的命令也不是很多,熟悉一段时间就差不多能顺利使用了.使用过程中遇到了各种各样的问题,有些小问题就在这里集中总结一下. 1.idea命令行.git安装后就自带终端git bash,使用起来很方便.但是用idea开发,开发后还要在相应文件夹下打开git bash很麻烦.其实idea也带有终端terminal,在最下方可以找到,在这里就可以执行命令.但是如果是默认方式安装的g

Android中Dialog的使用

上一篇博文讲到对话框popWindow的使用,这篇博文主要讲解Dialog的使用. 1.什么是Dialog? Dialog就是对话框的一种方式!在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择,这种对话框叫Dialog.最经常使用的,大家也比较熟悉的,也使用比较频繁有AlertDialog,这边篇博文将比较详尽的讲解Dialog的使用. 2.Dialog的特性 Android的对话框有两种:PopupWindow和Dialog.它们的不同点在

模板区域[未完待续](会定期的更新哦(有时间就更了))

写这个博客目的就是为了记录下学过的模板方便我这焫鷄复习吧//dalao们绕道 近期学的: (1)来自机房学长jjh大神教的求1~n的所有最小素因数和加上本焫鷄的批注 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath>//求1~n的最小质因数 using namespace std; const int MAXN=1e6+