Android 具有用户级别的自定义Progressbar
我想创建自定义progressbar,具有不同的级别,如下图所示 xml代码Android 具有用户级别的自定义Progressbar,android,progress-bar,android-progressbar,Android,Progress Bar,Android Progressbar,我想创建自定义progressbar,具有不同的级别,如下图所示 xml代码 <ProgressBar android:id="@+id/progress" style="?android:attr/progressBarStyleLarge" android:layout_width="300dp" android:layout_height="300dp" android:layout_centerHorizontal="true"
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/progress" />
progrss.xml
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="10"
android:useLevel="false" >
<size
android:height="76dip"
android:width="76dip" />
<gradient
android:angle="0"
android:endColor="#99cc33"
android:startColor="#F15d36"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
您可以根据需要使用自定义进度条 循环压缩视图
您需要一个自定义布局-
class CircleLayout extends FrameLayout{
...
void onDraw(Canvas canvas){
....
}
}
现在在onDraw()方法中,画一个半径等于最小值(高度、宽度)一半的圆--高度和宽度分别是框架布局的高度和宽度
说
int min=min(高度,宽度)
radius = min/2
x和y是中心点
canvas.drawCircle(x, y, radius, paint);
现在使用相同的半径绘制两条弧,即绿色弧和红色弧要绘制圆弧,请参见此链接-您可以使用自定义视图并使用onDraw方法绘制圆。您可以给我一个小示例,例如如何在圆部分填充颜色吗?红色和绿色的圆弧表示开始阶段,绿色表示结束阶段。您可以告诉我如何将progressbar的圆拆分为5块吗?您可以用饼图如果你想分成5部分,我使用了下面的库来实现饼图,你能举个例子吗?