如何在android中制作动态响铃进度条?

时间:2017-08-03 04:47:59

标签: android android-progressbar

我想创建一个循环进度条,显示文件上传和下载的进度,如应用程序显示的那样。我在github上看到了数字或库。我知道这个问题已被提出,我已经完成了以下链接中提到的那些问题。

https://github.com/lzyzsd/CircleProgress
https://stackoverflow.com/questions/37238185/how-to-create-a-circularprogressbar-like-whatsapp-during-image-uploading

但上面的链接指的是库。有没有办法在不使用任何库的情况下创建循环进度条?

在stackoverflow中的一个链接中,我在下面的代码中找到了

    ObjectAnimator animation = ObjectAnimator.ofInt (progressBar, "progress", 0, 500); 
    animation.setDuration (5000); 
    animation.setInterpolator (new DecelerateInterpolator());

但是上面的代码没有动态设置进度。意味着进度条工作5秒钟。进度条不应始终运行5秒。文件大小可以变化,因此进度条也是如此。我的问题是如何在不使用库的情况下动态创建循环进度条?

4 个答案:

答案 0 :(得分:0)

希望这会对你有所帮助

布局Xml

<ProgressBar
   android:id="@+id/progressBar"
   style="?android:attr/progressBarStyleHorizontal"
   android:layout_width="150dp"
   android:layout_height="150dp"
   android:layout_alignParentBottom="true"
   android:layout_centerHorizontal="true"
   android:max="500"
   android:progress="0"
   android:progressDrawable="@drawable/circular" />

现在使用以下形状在资源中创建drawable。使用半径进行游戏(您可以使用innerRadius代替innerRadiusRatio)和厚度值。

<shape
    android:innerRadiusRatio="2.3"
    android:shape="ring"
    android:thickness="3.8sp" >
    <solid android:color="@color/yourColor" />

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以通过以下方式执行此操作:当服务器保留图像视图时,它会隐藏进度条,直到文件从服务器加载进度条旋转。

           <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ProgressBar
                    android:id="@+id/progress"
                    android:visibility="visible"
                    style="?android:attr/progressBarStyleLarge"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:maxHeight="55dip"
                    android:minHeight="35dip"
                    android:minWidth="55dip"
                    android:maxWidth="10dip"
                    android:layout_centerVertical="true"
                    android:layout_centerHorizontal="true" />

                 <ImageView
                    android:id="@+id/image"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:visibility="visible"/>
            </RelativeLayout>

答案 3 :(得分:-1)

1.使用此库可能会帮助您:

https://github.com/CardinalNow/Android-CircleProgressIndicator

  1. 你也可以尝试这个:
  2. Show Progress bar while downloading