Android中的圆形边缘进度条

Android中的圆形边缘进度条,android,android-layout,android-studio,progress-bar,Android,Android Layout,Android Studio,Progress Bar,我是android新手,我正在尝试制作一个具有良好风格的圆形进度条 因此,我找到了一个非常简单的解决方案,即如何使用shape=“ring” 我的代码是 mainpage\u layout.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent"

我是android新手,我正在尝试制作一个具有良好风格的圆形进度条

因此,我找到了一个非常简单的解决方案,即如何使用
shape=“ring”

我的代码是

mainpage\u layout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:max="100"
        android:progress="80"
        android:rotation="-90"
        android:layout_centerInParent="true"
        android:progressDrawable="@drawable/circular_progress" />

</RelativeLayout>

循环_progress.xml

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:useLevel="true"
    android:innerRadiusRatio="2.3"
    android:shape="ring"
    android:thickness="7dp" >
    <solid android:color="@color/colorPrimary" />
</shape>

它看起来像这样


我想把它设计成这个很棒的进度条:

编辑 这是我想要制作的进度条的填充背景

为进度条添加背景并使其边缘变圆而不是变方

有没有一个简单的解决办法,或者我应该放弃使用这个
shape=“ring”
东西

多谢各位

尽快。

您可以使用

这里有一个方法
useRoundedCorners
您需要传递false以使其不圆默认情况下,边缘是圆的

有一个自定义类可以从该库中获取(这已经足够了)

然后,您可以像这样在xml中设置视图

  <yourPackageName.CircularProgressBar
        android:id="@+id/circularProgress"
        android:layout_width="180dp"
        android:layout_height="180dp"/>
你可以用

这里有一个方法
useRoundedCorners
您需要传递false以使其不圆默认情况下,边缘是圆的

有一个自定义类可以从该库中获取(这已经足够了)

然后,您可以像这样在xml中设置视图

  <yourPackageName.CircularProgressBar
        android:id="@+id/circularProgress"
        android:layout_width="180dp"
        android:layout_height="180dp"/>

是的,我找了一个图书馆,但是我没有找到什么,这是我找到的唯一一个,但是它的形状不像我在第二张图片中提到的,它是正方形的,没有背景是的,我找了一个图书馆,但是我没有找到什么,这是我找到的唯一一个,但是它的形状不像我在第二张图片中提到的,它是方形的,没有背景谢谢你,我还想添加填充背景。这可能吗?@asaf regev padded background意思是说,我可以举个例子来说明这一点吗?你指的是进度条轮廓和内联的两种颜色?@asaf研究我给出的类(在这个例子中,你实际上不需要去检查lib是否所有你想要的都在这里),还有一些有用的方法,比如
drawOutlineArc
你可以使用它们。默认情况下,round edge是真的!非常感谢你,伙计!我的意思是填充背景就像我发布的第二张图片一样-你可以看到进度条的黑色路径,我将用新图片编辑帖子@Charu@asaf雷格夫:如果答案对你有帮助,你可以接受它;如果你需要澄清事实,你可以发表评论。谢谢你,我还想添加填充背景。这可能吗?@asaf regev padded background意思是说,我可以举个例子来说明这一点吗?你指的是进度条轮廓和内联的两种颜色?@asaf研究我给出的类(在这个例子中,你实际上不需要去检查lib是否所有你想要的都在这里),还有一些有用的方法,比如
drawOutlineArc
你可以使用它们。默认情况下,round edge是真的!非常感谢你,伙计!我的意思是填充背景就像我发布的第二张图片一样-你可以看到进度条的黑色路径,我将用新图片编辑帖子@Charu@asaf若答案对你们有帮助,你们可以接受,若你们需要澄清事实,你们可以发表评论
CircularProgressBar circularProgressBar = (CircularProgressBar) findViewById(R.id.circularProgress);
circularProgressBar.setProgress(50);
circularProgressBar.setProgressColor(Color.BLUE);