Android: покажите прогресс, как Google, в своих приложениях
Я использую AsyncTask для загрузки изображений для своего списка, потому что я не хочу, чтобы загрузка изображений блокировала мой пользовательский интерфейс. Пока изображения загружаются, я хочу показать анимированный круг прогресса в месте, где будет изображение.
Но я не могу найти изображение круга прогресса. Что такое идентификатор Ressource-Id? Или есть другой способ? У кого-то есть ссылка на этот образ?
Ответы
Ответ 1
Посмотрите индикатор выполнения. Он может работать (и по умолчанию, AFAIR) в неопределенном режиме, что означает, что он показывает вращающийся круг, как тот, который вы просите. Я знаю, что это не изображение, но то, что вы можете сделать, - это разместить FrameLayout вместо изображения, а индикатор выполнения - единственный. Затем, как только загрузка изображений закончится, удалите индикатор выполнения и добавьте изображение.
Ответ 2
Определите эту глобальную переменную ProgressDialog pd;
Как раз перед запуском AsyncTask выполните:
pd = ProgressDialog.show(CurrentClassName.this,"This is the title","This is the detail text",true,false,null);
Когда его сделанный onPostExecute
просто вызовет pd.dismiss();
Подробнее см. ниже: ProgressDialog
Вам нужно будет принять особые меры, чтобы он работал, когда вы вращаете устройство во время разговора.
Ответ 3
Это пример файла макета для интро-активности с индикатором хода и кругом:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/intro_description"
android:scaleType="fitXY"
android:src="@drawable/intro" />
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleInverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="150dp"
android:visibility="visible" />
</FrameLayout>
Ответ 4
Вам нужен неопределенный ProgressBar. Взгляните на сайт разработчика -
ProgressBar