簡體   English   中英

ProgressDialog沒有顯示圓圈

[英]ProgressDialog is not showing circle

我的片段中有一個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");
            }
        });
    }

使用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) ,並在完成所需的加載時將其隱藏。

只需刪除

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

默認情況下,“正在加載”圖標是圓圈。

只需將這一行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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM