9

我想显示像 iphone hud 进度条样式这样的自定义对话框。但是,我不知道要在 android 上创建像 iphone 这样的 hud 进度条这样的自定义对话框。

我想要如下图所示的自定义对话框:

在此处输入图像描述

帮帮我……!

谢谢...!

4

3 回答 3

23

我创建了一个示例 Android 应用程序和一个 ProgressHUD 类,您可以将其用于此目的。你可以在这里找到它: https ://github.com/anupamdhanuka/AndroidProgressHUD

于 2012-07-10T06:02:57.840 回答
1

看看这个(我的)图书馆。IOSDialog/Spinner 库

它非常易于使用并解决了您的问题。有了它,您可以像在 IOS 中一样轻松创建和使用微调器。代码示例:

final IOSDialog dialog1 = new IOSDialog.Builder(IOSDialogActivity.this)
            .setOnCancelListener(new DialogInterface.OnCancelListener() {
                @Override
                public void onCancel(DialogInterface dialog) {
                    dialog0.show();
                }
            })
            .setDimAmount(3)
            .setSpinnerColorRes(R.color.colorGreen)
            .setMessageColorRes(R.color.colorAccent)
            .setTitle(R.string.standard_title)
            .setTitleColorRes(R.color.colorPrimary)
            .setMessageContent("My message")
            .setCancelable(true)
            .setMessageContentGravity(Gravity.END)
            .build();

结果

 final IOSDialog dialog0 = new IOSDialog.Builder(IOSDialogActivity.this)
            .setTitle("Default IOS bar")
            .setTitleColorRes(R.color.gray)
            .build();

结果:标准 IOS 对话框

于 2017-06-17T10:01:27.700 回答
-1
       private class loadassync extends
        AsyncTask<String, Void, Void> {

    private final ProgressDialog dialog = new ProgressDialog(
            classname.this);

    protected void onPreExecute() {

        this.dialog.setMessage("loading.....");
        this.dialog.show();
    }

    protected Void doInBackground(final String... args) {

        //add the logic while loading
    }

    protected void onPostExecute(final Void unused) {

        try {
            //add the logic after loading
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if (this.dialog.isShowing()) {
            this.dialog.dismiss();
        }

    }
}

执行 assynctask

     Loadassync mAssyn1 = new LoadAssync();
                mAssyn1.execute();
于 2012-04-25T08:10:11.787 回答