Вы должны узнать о рисуемых ресурсов.
Drawable Resources | Android Developers
Вы можете сделать это с помощью списка слоев и клип Drawable.
Во-первых, давайте поговорим об уровне. Каждый drawable имеет уровень, который идет от 0 до 10000. Уровень может использоваться, чтобы изменить внешний вид drawable.
Начнем с клипа Drawable. Клип-Drawable будет зажимать drawable на основе его уровня. Это отлично подходит для стиля выполнения. Предположим, вы хотите нарисовать красное сердце снизу вверх по серому сердцу.
/res/drawable/red_heart_clip.xml
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/red_heart"
android:clipOrientation="horizontal"
android:gravity="bottom"/>
Теперь, когда у вас есть выявление на пути вверх, вы хотите, чтобы показать серое сердце как фон, так что он выглядит как серый сердце становится красным. Вы можете наложить две ярлыки с помощью списка слоев.
/res/drawable/progress_heart.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/grey_heart"/>
<item android:drawable="@drawable/red_heart_clip"/>
</layer-list>
Теперь вы назначаете это выделение на задний план. Это также может быть src ImageView
.
<View
android:background="@drawable/progress_heart"
...
Теперь вы можете установить уровень Drawable, как это:
int level = 100 * pct; // pct goes from 0 to 100
view.getBackground().setLevel(level)
О, и кстати, вы даже не нужно ProgressBar
.
Вам необходимо создать серию изображений, таких как 10 для каждого10%, и вы можете показать их как прогресс progress progress – surya
Проверьте это http://stackoverflow.com/questions/29398156/bitmapdrawable-as-progressbar-in-android- how-to-build-it – surya