如何在Android中创建类似图片的进度条

7

如何在我的Android应用程序中创建下面这种进度环形式的图像。我想在整个应用程序加载到设备上之前显示它10秒钟。并且我还想旋转它,就像Windows设备旋转一样。任何帮助都会受到赞赏。我是Andorid新手。

图像:

enter image description here


你可以使用库 https://github.com/castorflex/SmoothProgressBar。 - Ajinkya
我想要类似于Windows设备的铃声,而不是进度条。 - Harshad
这个库中CircularProgressBar的厚度更大。 - Harshad
检查库,您可以通过使用此fnc -strokeWidth(8f)来减少OR。在xml app:cpb_stroke_width =“4dp”中。 - Ajinkya
@Harshad https://github.com/Fichardu/CircleProgress 这个链接可能与你的要求有些许匹配。 - Vishal Thakkar
显示剩余3条评论
5个回答

11

我找到了完美的答案。

使用这个链接,我找到了圆形进度环。

progress_bar.gif

然后我使用了这段代码:

animation.xml

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

在我的主XML文件中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"          android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


    <ProgressBar
        android:id="@+id/progressbar1"
        android:layout_marginTop="80dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminateDrawable="@anim/animation"/>


</RelativeLayout>

最后的输出是:

在这里输入图像描述


但是使用这个答案,您将无法获得与此GIF中的Slow-Fast-Slow-...旋转效果相同的效果。 我建议您仅使用此GIF,并在所需的时间内显示它(为此,我相信您已经编写了代码)。 - Ankit Bansal
@AnkitBansal 如果你使用 AccelerateDecelerateInterpolator,它会以缓慢-快速-缓慢的模式进行动画。 - Xaver Kapeller
@XaverKapeller 是的,差点忘了。 - Ankit Bansal

5

您可以使用gifView库:https://github.com/koral--/android-gif-drawable

在您的.xml文件中使用以下代码:

<pl.droidsonroids.gif.GifImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/src_anim"
    />

其中src_anim是您的加载器gif文件


我尝试了你的答案,但输出给了我左右两侧箭头。 - Harshad
<pl.droidsonroids.gif.GifImageView android:layout_width="50dp" android:layout_height="40dp" android:layout_marginTop="200dp" android:src="@drawable/progress_bar" android:background="@anim/animation" /> - Harshad
请删除android:background属性。 - JAAD
请使用版本1.1.11,因为1.1.12存在一些奇怪的崩溃问题。 - JAAD

4

4

修改进度条的资源图像 - 最近在这里讨论了这个问题。看一下吧。

简而言之 - 你可以使用

  • 自定义可绘制对象
  • 动画列表

这两种方法都可以创建像你的进度条那样的效果。


那个工作得很好,给它加上一个+1。我如何制作像我更新问题中的图像一样的圆形? - Harshad
Rect在其他活动中运行良好,但在启动屏幕活动中使用时会出现错误。 - Harshad

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接