1. 程式人生 > >Android 對話方塊總結(確定取消,單選,多選,進度條,具體的進度條)

Android 對話方塊總結(確定取消,單選,多選,進度條,具體的進度條)

    /**
     * 彈出確定取消對話方塊
     *
     * @param view
     */
    public void click01(View view) {
        // 工廠設計模式,得到建立對話方塊的工廠
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("警告");
        builder.setMessage("若練此功,必先自宮,是否繼續?");
        builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "啊...即便自宮,也不一定能成功", 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.show();
    }
    /**
     * 單選對話方塊
     *
     * @param view
     */
    public void click02(View view) {
        // 工廠設計模式,得到建立對話方塊的工廠
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("請選擇您的性別:");
        final String[] items = {"男", "女", "人妖"};
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您的性別為:" + items[which], Toast.LENGTH_SHORT).show();
                dialog.dismiss();
            }
        });
        builder.show();
    }
    /**
     * 多選對話方塊
     *
     * @param view
     */
    public void click03(View view) {
        // 工廠設計模式,得到建立對話方塊的工廠
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("請選擇您愛吃的水果:");
        final String[] items = {"蘋果", "梨子", "香蕉", "菠蘿", "哈密瓜"};
        final boolean[] checkeds = {true, false, true, false, true};
        builder.setMultiChoiceItems(items, checkeds, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                Toast.makeText(MainActivity.this, items[which] + isChecked, Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < checkeds.length; i++) {
                    if (checkeds[i]) {
                        sb.append(items[i] + " ");
                    }
                }
                Toast.makeText(MainActivity.this, "您喜歡吃的水果是:" + sb.toString(), Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();
    }

    /**
     * 進度對話方塊
     *
     * @param view
     */
    public void click04(View view) {
        final ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("請稍後:");
        pd.setMessage("正在拼命載入中...");
        pd.show();
        new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(30000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                pd.dismiss();
            }
        }.start();
    }

    /**
     * 帶具體進度的對話方塊
     *
     * @param view
     */
    public void click05(View view) {
        final ProgressDialog pd = new ProgressDialog(this);
        pd.setTitle("請稍後:");
        pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        pd.setMessage("正在拼命載入中...");
        // 設定進度條的最大值
        pd.setMax(100);
        pd.show();

        new Thread() {
            @Override
            public void run() {
                for (int i = 0; i < 100; i++) {
                    try {
                        Thread.sleep(300);
                        pd.setProgress(i);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                pd.dismiss();
            }
        }.start();
    }
  • 輸入框的
final EditText inputServer = new EditText(this);
        inputServer.setHint("url");
        inputServer.setText(url);
        AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
        builder.setTitle("請求不到伺服器,請檢查url:");
        builder.setView(inputServer);
        //    通過LayoutInflater來載入一個xml的佈局檔案作為一個View物件

        builder.setPositiveButton("確定", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                String server = inputServer.getText().toString().trim();
                //    將輸入的打印出來
                Toast.makeText(LoginActivity.this, " url" + server, Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                Toast.makeText(LoginActivity.this,"你一點選取消", Toast.LENGTH_SHORT).show();
            }
        });
        builder.show();

網上也有比較好的
https://blog.csdn.net/wanzdhan/article/details/7024834