ProgressDialog没有显示圆圈

时间:2016-08-30 07:52:14

标签: android fragment progressdialog android-progressbar

我的片段中有progressDialog。我需要的是显示小圆圈。但它只显示消息。它杀了我

final ProgressDialog progressDialog = new ProgressDialog(getActivity());
        progressDialog.setIndeterminate(true);
        progressDialog.setMessage("My message");
        progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large);
        progressDialog.show();

片段 - 方法显示进度对话框由您的帮助编辑

private void loginEmail() {

        showProgressDialog();
        FactoryAPI.getInstanceLogin().login("test@test.cz", "heslo123").enqueue(new Callback<UserResponse>() {
            @Override
            public void onResponse(Call<UserResponse> call, Response<UserResponse> response) {
                if (response.isSuccessful()) {
                    user = response.body().getUser();
                    startActivity();
                    progressDialog.dismiss();
                } else {
                    Toast.makeText(getContext(), R.string.email_password_is_not_right, Toast.LENGTH_LONG).show();
                }
            }

            @Override
            public void onFailure(Call<UserResponse> call, Throwable t) {
                Log.e("error", "error");
            }
        });
    }

3 个答案:

答案 0 :(得分:1)

使用ProgressBar,而不是ProgressDialog 例: 将它放在要放入ProgressBar的布局文件中:

<ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:layout_gravity="center"
        style="@style/Base.Widget.AppCompat.ProgressBar" />

然后调用progressBar.setVisiblity(view.visible)您想要显示的位置,并在完成加载所需内容后隐藏它。

答案 1 :(得分:1)

只需删除

  progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large);

默认情况下,“加载”图标是圆圈。

答案 2 :(得分:1)

只需将此行progressDialog.setProgressStyle(android.R.style.Widget_ProgressBar_Large)更改为progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER)

即可
private void loginEmail() {

    final ProgressDialog progressDialog = new ProgressDialog(getActivity);
    progressDialog.setIndeterminate(true);
    progressDialog.setMessage("My message");
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressDialog.show();

    FactoryAPI.getInstanceLogin().login("test@test.cz", "heslo123").enqueue(new Callback<UserResponse>() {
        @Override
        public void onResponse(Call<UserResponse> call, Response<UserResponse> response) {

            if(progressDialog.isShowing())
                 progressDialog.dismiss();

            if (response.isSuccessful()) {
                user = response.body().getUser();
                startActivity();
            } else {
                Toast.makeText(getContext(), R.string.email_password_is_not_right, Toast.LENGTH_LONG).show();
            }
        }

        @Override
        public void onFailure(Call<UserResponse> call, Throwable t) {

            if(progressDialog.isShowing())
                 progressDialog.dismiss();

            Log.e("error", "error");
        }
    });
}

STYLE_SPINNER -

  

使用循环的旋转进度条创建ProgressDialog。

STYLE_HORIZONTAL -

  

使用水平进度条创建ProgressDialog。

参考:ProgressDialog