我正在尝试创建一个圆形的进度条.这就是我想要实现的目标
有一个灰色背景环.在它的顶部,出现一个蓝色进度条,它在60或几秒钟内以0到360的圆形路径移动.

这是我的示例代码.
<ProgressBar
android:id="@+id/ProgressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="?android:attr/progressBarStyleLarge"
android:indeterminateDrawable="@drawable/progressBarBG"
android:progress="50"
/>
Run Code Online (Sandbox Code Playgroud)
为此,在drawable"progressBarBG"中,我创建了一个图层列表,在该图层列表中,我给出了两个项目,如图所示.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape
android:shape="ring"
android:innerRadius="64dp"
android:thickness="8dp"
android:useLevel="false">
<solid android:color="@color/grey" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape
android:shape="ring"
android:innerRadius="64dp"
android:thickness="8dp"
android:useLevel="false">
<solid android:color="@color/blue" />
</shape>
</clip>
</item>
Run Code Online (Sandbox Code Playgroud)
现在,第一个灰色环很好.然而,蓝色环从drawable的左侧开始向右移动,就像线性进度条的工作原理一样.这是它显示50%进度的方式,红色箭头显示方向.

我想按预期在圆形路径中移动蓝色进度条.
我需要帮助实现这样的循环进度条:

我应该如何通过增加Value财产来实施圆圈?
我正在尝试绘制一个带有border-radius的圆圈,并为其设置动画.我可以这样做,但我不能做的是覆盖元素并将圆形背景设置为透明,而不取消隐藏蒙版.我无法使其在元素上透明,因为需要应用蒙版以在旋转时隐藏圆圈的左半部分以模仿绘制效果.
HTML
<div class="background">
<div class="wrapper">
<div class="pie spinner"></div>
<div class="pie filler"></div>
<div class="mask"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.background{
background:green;
z-index: 1000;
}
.wrapper {
width: 250px;
height: 250px;
position: relative;
margin: 40px auto;
background: rgba(0,0,255,1);
}
.wrapper, .wrapper * {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.wrapper .pie {
width: 50%;
height: 100%;
transform-origin: 100% 50%;
position: absolute;
background: transparent;
border: 5px solid rgba(0,0,0,0.9);
}
.wrapper .spinner {
border-radius: 100% 0 0 100% / 50% 0 0 50%;
z-index: …Run Code Online (Sandbox Code Playgroud) 我创建了一个倒数计时器.我有一个圆形的边框.当计时器趋于零时,圆形边框应该以秒为单位递减颜色.
HTML
<div class="outer">
<button class="btn btn-default btn-timer">0.00</button>
</div>
Run Code Online (Sandbox Code Playgroud)
JS代码
var displayminutes;
var displayseconds;
var initializeTimer = 1.5 // enter in minutes
var minutesToSeconds = initializeTimer*60;
$("#document").ready(function(){
setTime = getTime();
$(".btn-timer").html(setTime[0]+":"+setTime[1])
});
$(".btn-timer").click(function(){
var startCountDownTimer = setInterval(function(){
minutesToSeconds = minutesToSeconds-1;
var timer = getTime();
$(".btn-timer").html(timer[0]+":"+timer[1]);
if(minutesToSeconds == 0){
clearInterval(startCountDownTimer);
console.log("completed");
}
},1000)
});
function getTime(){
displayminutes = Math.floor(minutesToSeconds/60);
displayseconds = minutesToSeconds - (displayminutes*60);
if(displayseconds < 10)
{
displayseconds ="0"+displayseconds;
}
if(displayminutes < 10)
{
displayminutes = "0"+displayminutes;
}
return …Run Code Online (Sandbox Code Playgroud) css ×2
css3 ×2
progress-bar ×2
android ×1
animation ×1
c# ×1
css-shapes ×1
html5 ×1
javascript ×1
jquery ×1
jsfiddle ×1
wpf ×1