1

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

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

我们如何做到这一点?

这是短片。

在此处输入图像描述

4

2 回答 2

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" />
于 2013-06-18T06:48:29.577 回答
0

您可以使用下面的代码,这里加载的 imageview 是您在上面显示的 GIF 图像。 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>
于 2013-06-18T09:31:17.610 回答