Android中帶有輸入框的自定義Dialog


1.代碼:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this,R.style.AlertDialog);
//        builder.setTitle(" ");    //設置對話框標題
//        builder.setIcon(android.R.drawable.btn_star);   //設置對話框標題前的圖標

        TextView textView = new TextView(MainActivity.this);
        textView.setText("口令:");
        textView.setTextSize(22);

        final EditText edit = new EditText(MainActivity.this);
        edit.setHint("請填寫口令");
        edit.setInputType(InputType.TYPE_CLASS_NUMBER);
        edit.setWidth(550);
        edit.setTextSize(18);

        LinearLayout layout = new LinearLayout(MainActivity.this);
        layout.setHorizontalGravity(LinearLayout.HORIZONTAL);
        layout.addView(textView);
        layout.addView(edit);

        layout.setPadding(100, 0, 100, 20);
        builder.setView(layout);
        builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "你輸入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "你點了取消", Toast.LENGTH_SHORT).show();
            }
        });

        builder.setCancelable(true);    //設置按鈕是否可以按返回鍵取消,false則不可以取消
        //創建對話框
        dialog = builder.create();
        dialog.setCanceledOnTouchOutside(true); //設置彈出框失去焦點是否隱藏,即點擊屏蔽其它地方是否隱藏
dialog.show();

2.    R.style.AlertDialog:       windowBackground
   <style name="AlertDialog" parent="@android:style/Theme.DeviceDefault.Dialog">
           <!--該行代碼就是設置AlertDialog的背景-->
           <item name="android:windowBackground">@drawable/dialog_bg</item>
           </style>

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com