2016-11-17 4 views
0

Я попробовал весь код, но я не могу найти решение, как использовать это (GIF) изображение в моем progessbarКак использовать рисунок в прогресс бар

XML файл

<ProgressBar 
    android:id="@+id/progressBar" 
    style="@style/GenericProgressIndicator" 
    android:layout_width="fill_parent" 
    android:layout_height="200px" 
    android:layout_centerInParent="true" 
    android:visibility="visible" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:indeterminateDrawable="@drawable/animation" > 
</ProgressBar> 

JAVA файл

ProgressBar bar=(ProgressBar)findViewById(R.id.progressBar); 

Хотите использовать это изображение в прогресс бар Want to use this image in progress bar

ответ

1

Вам не нужно использовать ProgressBar показать GIF, если вы не хотите использовать специальные функции, которые ProgressBar обеспечивает (не похож на него).

Достаточно использовать простой ImageView и некоторую библиотеку изображений, которая поддерживает GIF (например, Glide).

0

это трюк вместо полного решения я загружаю GIF как изображение в встревоженной диалоговом окне с прозрачным фоном и показать это предупреждение диалог при запуске процесса и освобождает его в конце.

Однако взглянуть на это тоже: Custom circular ProgressBar with image in center

+0

Thanx для вашего интереса могу ли я установить изображение GIF в диалоговом окне предупреждения? – seggy

+0

да, но вам нужно создать собственное диалоговое окно, содержащее изображение, а корневой макет имеет прозрачный фон. Затем вы можете установить источник этого изображения в свой локальный gif – Ak9637

+0

ok thanx я попробую – seggy

0
1. First Convert your Gif image to png Slice image sequence 
2. Declare Your Progress bar as Image view. 
    <ImageView 
     android:id="@+id/ivProgress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:visibility="visible" /> 

3. Create .xml file in drawable folder using your .png sequence image those are generated from gif. 

    <?xml version="1.0" encoding="utf-8"?> 
     <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
     android:oneshot="false"> 
    <item 
     android:drawable="@mipmap/wblod_0" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_1" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_2" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_3" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_4" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_5" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_6" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_7" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_8" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_9" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_10" 
     android:duration="40" /> 
    <item 
     android:drawable="@mipmap/wblod_11" 
     android:duration="40" /> 
    </animation-list> 

4. In your activity set code like this. 

    private AnimationDrawable animationDrawable; 
    private ImageView mProgressBar; 
    mProgressBar.setBackgroundResource(R.drawable.loading_web_animation); 
    animationDrawable = (AnimationDrawable)mProgressBar.getBackground(); 
    mProgressBar.setVisibility(View.VISIBLE); 
    animationDrawable.start(); 
    mProgressBar.setVisibility(View.GONE); 
    animationDrawable.stop();` 
Смежные вопросы