zoukankan      html  css  js  c++  java
  • Android学习-各种对话框

    在android的编程中,对话框的用处是非常多的,然而,有时对对话框的需求也是不一样的,那么现在,就总结对话框的种类,以及事件的处理形势。

    1、简单的对话框

    public void showDialog(){
       Dialog dialog = new AlertDialog.Builder(this)
        	.setTitle("标题")
        	.setMessage("消息")
        	.setPositiveButton("好", new DialogInterface.OnClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
    		})
        	.setNegativeButton("不好", new DialogInterface.OnClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
    		}).create();
        dialog.show();
    }


    2、带编辑框的对话框

    public void showDialog(){
        EditText et = new EditText(this);// 单独出来,方便取用户输入的数据。
        Dialog dialog = new AlertDialog.Builder(this)  
        	.setTitle("请输入")  
        	.setIcon(android.R.drawable.ic_dialog_info)  
        	.setView(et)  
        	.setPositiveButton("确定", new DialogInterface.OnClickListener(){
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
        		
        	})  
        	.setNegativeButton("取消", new DialogInterface.OnClickListener(){
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}})  
        	.create();
        dialog.show();
    }


    3、含单选钮的对话框

    public void showDialog(){
        final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;
        // 单独列出来方便之后取数据
        	Dialog dialog = new AlertDialog.Builder(this)
        	.setTitle("单选框,请选择")
        	.setSingleChoiceItems(str, 3, new DialogInterface.OnClickListener() {
        		// 3 代表默认选中str的index=3的那个单选框
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				Log.e("DIYDialogActivity", "showDialog->you select " + str[which] ) ;
    			}
    		})
    		.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
    		})
           .create();
        dialog.show();
    }


    4、含多选框的对话框

    public void showDialog(){
            final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;// 单独列出来方便之后取数据
        	boolean[] bstr = new boolean[]{true,false,false,false,false,false,false};
        	Dialog dialog = new AlertDialog.Builder(this)
        	.setTitle("多选框,请选择")
        	.setMultiChoiceItems(str, bstr, new DialogInterface.OnMultiChoiceClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    				Log.e("DIYDialogActivity", "showDialog->" +
    						"you select " + str[which]+ "vaule = " +new Boolean(isChecked).toString() ) ;
    			}
        	})
        	.setPositiveButton("确定", new DialogInterface.OnClickListener(){
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
        	}).create();
        	dialog.show();
    }


    5、含列表的对话框

    public void showDialog(){
            final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;
            // 单独列出来方便之后取数据
        	Dialog dialog = new AlertDialog.Builder(this)
        	.setTitle("列表框,供选择")
        	.setItems(str, new DialogInterface.OnClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				Log.e("DIYDialogActivity", "showDialog---------------------you select " + which);
    			}
    		})
        	.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				
    			}
    		})
        	.create();
        	dialog.show();
    }


    6、自定义的对话框

    public void showDialog(){
            LayoutInflater inflater = getLayoutInflater();
        	View layout = inflater.inflate(R.layout.dialog_showmsg, (ViewGroup) findViewById(R.id.view_dialog)); 
        	// 可指定对话框的背景色彩那些
        	
        	Dialog dialog = new AlertDialog.Builder(this)
        	.setView(layout)
        	.create();
        	
        	// 设置对话框的出现位置,借助于window对象
        	Window win = dialog.getWindow();
        	//win.setGravity(Gravity.CENTER);
        	//win.setGravity(Gravity.BOTTOM);
        	//win.setGravity(Gravity.TOP);
        	win.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);// 弹出对话框时,底部窗体,不变暗。
        	
        	WindowManager.LayoutParams lp = win.getAttributes();
        	lp.x = -200;// x=0,y=0时,显示位置是屏幕中心。
        	lp.y = 0 ;
        	lp.alpha = 0.6f;// 对话框的透明度
        	win.setAttributes(lp);
        	
        	Button but = (Button) layout.findViewById(R.id.but_positive);
        	but.requestFocus();
        	dialog.show();
    }















  • 相关阅读:
    扩展正则表达式 练习题
    Linux特殊符号
    文件属性下
    文件属性和ls -lhi
    复习之前的和补充一些内容
    第二关练习题总结完结
    云服务器防ssh攻击
    实验四+085
    实验3+085
    第5次作业+085
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3184740.html
Copyright © 2011-2022 走看看