2016-10-06 12 views
2

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

Так это когда прогресс 100%:

first image

и это для 0% прогресса:

second image

+0

Вам необходимо создать серию изображений, таких как 10 для каждого10%, и вы можете показать их как прогресс progress progress – surya

+0

Проверьте это http://stackoverflow.com/questions/29398156/bitmapdrawable-as-progressbar-in-android- how-to-build-it – surya

ответ

8

Вы должны узнать о рисуемых ресурсов.

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.

+0

Он отлично работал. Большое вам спасибо за вашу помощь... –