我需要显示一个具有两个正在运行的组件的启动屏幕,一个是加载图像,另一个是进度条。
进度条可以轻松显示,也可以加载图像,但我不想使用.gif图像。
我们如何做到这一点?
这是短片。
我需要显示一个具有两个正在运行的组件的启动屏幕,一个是加载图像,另一个是进度条。
进度条可以轻松显示,也可以加载图像,但我不想使用.gif图像。
我们如何做到这一点?
这是短片。
如果您想显示自定义进度,您可以使用图像并使用旋转它<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" />
您可以使用下面的代码,这里加载的 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>