文档章节

Dialog Toast Notification的使用

火文乐武
 火文乐武
发布于 2016/05/03 22:24
字数 539
阅读 8
收藏 0

1、普通对话框一
    

public void show(View v){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher).setTitle("haha");
        builder.show();
    }
}

 2、普通对话框二
  

 public void show2(View v){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle("明天去哪玩?")
                .setMessage("好好学习,天天向上");
        OnClickListener clickListener=new OnClickListener() {
            
            @Override
            public void onClick(DialogInterface dialog, int which) {
                switch (which) {
                case DialogInterface.BUTTON_NEGATIVE:
                    Toast.makeText(MainActivity.this, 
                            "the chioce is no", Toast.LENGTH_SHORT).show();
                    break;
                case DialogInterface.BUTTON_POSITIVE:
                    Toast.makeText(MainActivity.this, 
                            "the chioce is yes", Toast.LENGTH_SHORT).show();
                    break;
                }
            }
        };
        builder.setNegativeButton("no",clickListener);
        builder.setPositiveButton("yes",clickListener);
        builder.show();
    }

   
    3、简单列表对话框
  

 public void show3(View v){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
        .setTitle("what is your favorite?")
        .setItems(str, new OnClickListener() {
            
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,
                        "what your chioce is "+str[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }

4、单选列表对话框
  

 public void show4(View v){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle("learnHard")
                
                .setSingleChoiceItems(str, index, new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,
                                "what your chioce is"+str[which], 
                                Toast.LENGTH_SHORT).show();
                        index=which;
                        dialog.dismiss();
                    }
                });
        
        builder.show();
    }

5、自定义view
    

public void show6(View v){
        List<Map<String, Object>> data=new ArrayList<>();
        String[] names={"hah","xix","heh"};
        int[] images={R.drawable.q1,R.drawable.q2,R.drawable.q3};
        for (int i = 0; i < 3; i++) {
            Map<String, Object> map=new HashMap<>();
            map.put("name", names[i]);
            map.put("image", images[i]);
            data.add(map);
        }
        SimpleAdapter adapter=new SimpleAdapter(this, data,
                R.layout.item2, new String[]{"image","name"}, 
                new int[]{R.id.iv,R.id.tv});
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle("just do it")
                .setAdapter(adapter, null);
        builder.show();    
    }

6、多选列表对话框
    

public void show5(View v){
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle("show your chioce:")
                .setMultiChoiceItems(str, flag, new OnMultiChoiceClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, 
                            int which, boolean isChecked) {
                        if(isChecked){
                            flag[which]=true;
                        }else{
                            flag[which]=false;
                        }
                    }
                }).setPositiveButton("yes", new OnClickListener() {
                    String s="";
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        for (int i = 0; i < flag.length; i++) {
                            if(flag[i]){
                                s=s+str[i]+",";
                            }
                        }
                        s=s.substring(0,s.length()-1);
                        Toast.makeText(MainActivity.this,
                                "what your chioce is"+s, Toast.LENGTH_SHORT).show();
                    }
                });
        builder.show();
    }

7、简单登录程序

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    
    //登录
    public void show7(View v){
        final View v2=View.inflate(this, R.layout.item3, null);
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle("chioce")
                .setView(v2)
                .setPositiveButton("login", new OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        EditText text1=(EditText) v2.findViewById(R.id.username);
                        EditText text2=(EditText) v2.findViewById(R.id.password);
                        String username=text1.getText().toString();
                        String passward=text2.getText().toString();
                        if(TextUtils.isEmpty(username)||TextUtils.isEmpty(passward)){
                            Toast.makeText(MainActivity.this, "null", Toast.LENGTH_SHORT).show();
                            mShow(dialog,false);
                            return;
                        }
                        if("zhang".equals(username)&&"123".equals(passward)){
                            Toast.makeText(MainActivity.this, "access", Toast.LENGTH_SHORT).show();
                            mShow(dialog,true);
                        }else{
                            Toast.makeText(MainActivity.this, "failure", Toast.LENGTH_SHORT).show();
                            mShow(dialog,false);
                        }
                    }
                })
                .setNegativeButton("dismiss", null);
        builder.show();
    }
    
    public static void mShow(DialogInterface dialog,boolean flag){
        Field field;
        try {
            field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
            field.setAccessible(true);
            field.set(dialog, flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
   String[] str={"sleeping","playing","learning","doing"};
    int  index=0;
    boolean[] flag={false,false,false,false};

 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
    
    
    
   
    
    
    
  
    
    
    
    
 
    
    
    
    
    
    
    
    
    
  



© 著作权归作者所有

共有 人打赏支持
火文乐武
粉丝 7
博文 38
码字总数 17183
作品 0
郑州
Android工程师
私信 提问
Dialog、Toast的Window和ViewRootImpl

前言 文章Activity中的Window的setContentView、遇见LayoutInflater&Factory、ViewRootImpl的独白,我不是一个View(布局篇) 分别讲述了Activity的、以及。文章内容都是站在Activity的角度来进...

静默加载
2017/12/11
0
0
扩展用户体验-Dialog,Toast,Notification

创建一个Dialog对话框 实例化一个Dialog实例,设置标题和布局,分别使用setTitle和setContentView。 例子: // Create the new Dialog.Dialog dialog = new Dialog(MyActivity.this); // Set...

Chanimalx
2013/03/15
0
3
[Android学习笔记六] Toast 更长时间显示

Android Toast是一种比较特殊的显示信息的机制,其没有焦点,并且显示一段时间之后就自动消失。Android 中提供的显示时长通过Toast.LENGHTLONG和Toast.LENGTHSHORT来指定,底层具体代表的时间...

secondriver
2015/11/26
0
0
DevExpress v18.1新版亮点——WinForms篇(二)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本!点击下载>> Data Edi...

Miss_Hello_World
2018/06/08
0
0
Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?

转载请注明出处:http://blog.csdn.net/guolinblog/article/details/51336415 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 今天给...

sinyu890807
2016/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
今天
6
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
今天
3
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
今天
2
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
今天
7
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部