我有一个循环ProgressBar
,我希望在这个圆形栏内,以百分比形式写出进度(如60%或70%..)
如何在循环ProgressBar
?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progressBars"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:indeterminate="false"
android:indeterminateDrawable="@drawable/progress_bar"
android:max="100" />
</RelativeLayout>
答案 0 :(得分:7)
你应该试试这个:
<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" >
<ProgressBar
android:id="@+id/myProgress"
android:layout_width="match_parent" android:layout_height="match_parent" />
<TextView
android:id="@+id/myTextProgress"
android:layout_alignLeft="@id/myProgress" android:layout_alignTop="@id/myProgress"
android:layout_alignRight="@id/myProgress" android:layout_alignBottom="@id/myProgress"
android:background="@android:color/transparent" >
</RelativeLayout>
您也可以将centerInParent
设置为true,参见this
有关详细信息,请参阅this tutorial或this one以显示您的百分比
希望这会有所帮助。
答案 1 :(得分:2)
我认为不可以直接实现。您应该覆盖onDraw
内的ProgressBar
,并使用Canvas.drawText
来确定文本的位置。 Here您可以找到drwawText的文档:
x和y是正在绘制的文本原点的坐标
答案 2 :(得分:0)
onDraw
方式在Android版本和设备之间提出了一系列挑战。我特别喜欢使用RelativeLayout
或FrameLayout
。如果需要,可以在各种dpi中使用样式以确保UX的一致性。