在android中显示进度条和加载图像

时间:2013-06-18 06:36:29

标签: android progress-bar

我需要显示一个启动画面,其中有两个正在运行的组件,一个正在加载图像,另一个是进度条。

可以轻松显示进度条并加载图片,但我不想使用 .gif 图片。

我们如何实现这一目标?

这是短片。

enter image description here

2 个答案:

答案 0 :(得分:1)

如果要显示自定义进度,可以使用图像并使用<animated-rotate>

旋转图像

在drawable文件夹中创建和xml,

<强> custom_progrress_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/progres_image"
    android:pivotX="50%"
    android:pivotY="50%" />

然后将其添加到布局中的ProgressBar中,

 <ProgressBar
   android:id="@+id/video_progress_bar"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:indeterminateDrawable="@drawable/custom_progrress_bar" />

答案 1 :(得分:0)

您可以使用以下代码, 这里 loading imageview是您在上面显示的G​​IF图像。 loadingText 是TextView“正在加载...”,如上所示。

相应地管理线程中 ProgressBar 的进度标记,正如我在代码的最后一行中提到的那样..

       ImageView loading = (ImageView) findViewById(R.id.loading);
       ProgressBar loadingProgress = (ProgressBar) findViewById(R.id.loadingProgress);
       TextView loadingText = (TextView) findViewById(R.id.loadingText);

          /***
         * Starting Animation Progress bar
         */
        Animation anim = AnimationUtils.loadAnimation(this, R.anim.looprotate);
        anim.setRepeatCount(-1);
        anim.setRepeatMode(Animation.RESTART);
        loading.startAnimation(anim);
        loading.setVisibility(View.VISIBLE);
        loadingProgress.setVisibility(View.VISIBLE);
        loadingProgress.setProgress(10);
        loadingText.setVisibility(View.VISIBLE);
        loadingText.setText("Connecting");
            loadingProgress.setProgress(10);

to 

        loadingProgress.setProgress(100);

在res:

中的Anim文件夹中创建 anim.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:repeatCount="infinite"
    android:repeatMode="restart"
    android:duration="1000"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360" >

</rotate>