Android Circle进度视图显示圈内的计时器而不是%

时间:2016-03-14 08:33:52

标签: android mobile timer progress-bar

我正在使用这个很棒的图书馆:lzyzsd/CircleProgress

我试图在圆圈的中心显示倒计时型计时器:01:30或03:50它的mm:ss但现在确定要使用什么属性。 我只能选择设置前缀和后缀,但不能设置实际文本。倒数计时器的总时间以秒为单位,我也可以将其计算为分钟和秒,但如何在中心显示?

如果我没有设置前缀和后缀,默认情况下它为0,我不想显示。

1 个答案:

答案 0 :(得分:0)

不幸的是,似乎没有办法直接这样做。这就是我要做的事情:

DonutProgress donutProgress = (DonutProgress) findViewById(R.id.aworkout_dp_totaltime);
donutProgress.setSuffixText(""); //removes the % in the end
donutProgress.setMax(90); //so if the countdown starts from 1min 30 sec
//hides the default text which in this case would be 90 at the start
donutProgress.setTextColor(Color.parseColor("#00000000")); //the color is transparent

在xml中,

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

            <com.github.lzyzsd.circleprogress.DonutProgress
                 android:id="@+id/dp"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content" />

           <TextView
                 android:id="@+id/countdownTimerText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerInParent="true" />

</RelativeLayout>

现在调整donutprogress的大小和textview的字体大小,使textview适当地适合donutprogress的中心。使用倒数计时器在onTick方法期间设置textview的值。而且在onTick期间你必须donutProgress.setProgress(donutProgress.getProgress + 1);。因此,您的计时器将会改变,进度会发生变化。请注意,进度从0开始。