很漂亮的自定义的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应用

<style name="MyDialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@drawable/dialog</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
可以随时修改各种的文字大小信息

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

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值