很漂亮的自定义的AlertDialog的对话框

请尊重原创;过后会上传源码,或者联系我

看图效果



不多说,上代码

 public void init(){
     
       final View textEntryView=factory.inflate(R.layout.dialog_layout,null);
        dlg=new AlertDialog.Builder(MainActivity.this).setView(textEntryView).create();
        dlg=new AlertDialog.Builder(MainActivity.this,R.style.MyDialog).create();
        dlg.setView(mLayout,0,0,0,0);
        dlg.show();
        TextView tvvolam= (TextView)mLayout.findViewById(R.id.volem);
        tvvolam.setText("4510");
//        EditText secondPwd = (EditText) mLayout.findViewById(R.id.etvolam);
//        final String inputPwd = secondPwd.getText().toString();
        canel= (Button) mLayout.findViewById(R.id.dialog_button_cancel);
        ok= (Button) mLayout.findViewById(R.id.dialog_button_ok);
       canel.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               dlg.dismiss();
               makeWindowLight();
           }
       });
        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText secondPwd = (EditText) mLayout.findViewById(R.id.etvolam);
                final String inputPwd = secondPwd.getText().toString();
                if("".equals(inputPwd)){
                    Toast.makeText(MainActivity.this,"不能为空",Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(MainActivity.this,"提交成功",Toast.LENGTH_LONG).show();
                    dlg.dismiss();
                    makeWindowLight();
                }
               // dlg.dismiss();
                //makeWindowLight();
            }
        });
    }
很简洁的代码

在sytle应用

可以随时修改各种的文字大小信息

三、归纳
可以看到整篇文章的核心就是

public int getIdentifier(String name, String defType, String defPackage)

掌握了这个方法,对于修改 AlertDialog 就不在话下,当然此方法的用处在这里只能算的上是冰上一脚。
需要对 AlertDialog 的各个控件熟练运用就必须知道系统的alert_dialog.xml定义了那些 View,alert_dialog.xml的路径是


你可能感兴趣的:(android)