我想创建一个循环进度条,显示文件上传和下载的进度,如应用程序显示的那样。我在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秒。文件大小可以变化,因此进度条也是如此。我的问题是如何在不使用库的情况下动态创建循环进度条?
答案 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)
使用此链接动态创建循环进度条How to Create a circular progressbar in Android which rotates on it?或How to create circular ProgressBar in android?
答案 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)