Как показать диалог прогресса без сообщения (мне нужен только неопределенный круг)? - PullRequest
4 голосов
/ 23 ноября 2011

Как я могу показать диалоговое окно прогресса без сообщения?

Мне нужно только показать неопределенный круг.Какой самый простой и быстрый способ сделать это без создания собственного диалога?Есть ли способ, похожий на этот:

progressDialog.setShowIndeterminateCircleOnly(true)

Ответы [ 3 ]

10 голосов
/ 23 июня 2016

Надеюсь, это поможет некоторым, так как ответ до сих пор не легко найти.

ProgressDialog progDialog = ProgressDialog.show( getContext(), null, null, false, true );
progDialog.getWindow().setBackgroundDrawable( new ColorDrawable( Color.TRANSPARENT ) );
progDialog.setContentView( R.layout.progress_bar );

2-я строка выше уберет рамку вокруг значка «Круг прогресса»; но он останется выровненным по умолчанию. Вам придется добавить третью строку выше для обработки гравитации и любого другого стиля в файле макета XML.

progress_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<ProgressBar
    xmlns:android="http://schemas.android.com/apk/res/android"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />

Вам не нужно определять стиль выше, если вам нравится кружок по умолчанию. Иконка

3 голосов
/ 23 декабря 2011

если вам нужен только прялка без коробки, вы можете использовать вот так.

<ProgressBar
       style="?android:attr/progressBarStyle"
       android:layout_gravity="center_horizontal"
       android:id="@+id/progressbar_downloading"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
/>
0 голосов
/ 23 ноября 2011

Делать только прогрессбар в вашем XML-файле

    <ProgressBar 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

или создавать ProgressDialog без указания заголовка

ProgressDialog dialog = ProgressDialog.show(ActivityName.this, "", "", true);
        dialog.setCancelable(true);
...