Как заставить индикатор выполнения использовать изображение, чтобы показать прогресс вместо использования цвета в Android - PullRequest
1 голос
/ 21 июля 2011

У меня есть логотип, который я хотел бы использовать в моем индикаторе выполнения.Каждый раз, когда изображение загружается, мой индикатор выполнения отображается с помощью синей панели.Однако я бы предпочел, чтобы он медленно отображал изображение моего логотипа, по одному за раз.Я попытался:

android:progressDrawable="@drawable/logo"

, но сразу установил весь индикатор выполнения на мое изображение.Я также попытался установить его динамически с помощью:

progressBar.setProgressDrawable(getResources()...etc)

, но это просто оставило меня без обзора и черного пустого пространства.

Можно сделать?

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

Создайте ClipDrawable и установите свой progressDrawable в XML так, чтобы он указывал на этот ClipDrawable XML, который выглядит примерно так:

<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/logo"
    android:clipOrientation="horizontal"
    android:gravity="left" />
</clip>

Затем в onProgress просто вызовите yourDrawable.setLevel(progressAmount)

0 голосов
/ 25 января 2012

Попробуйте использовать:

progressBar.setIndeterminateDrawable(getResources()...etc)
...