Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有没有办法像这样自定义progressbar(从一个圆开始,然后是一个矩形体)_Android_Android Progressbar_Shapes - Fatal编程技术网

Android 有没有办法像这样自定义progressbar(从一个圆开始,然后是一个矩形体)

Android 有没有办法像这样自定义progressbar(从一个圆开始,然后是一个矩形体),android,android-progressbar,shapes,Android,Android Progressbar,Shapes,我正在开发一个android应用程序,它需要显示一个自定义进度条,如下图所示。要自定义进度条,需要使用android:progressDrawable,因此可能需要一个可绘制(自定义形状)。但是,我不知道是否可以使用shape来实现这一点 我认为你最好使用seekbar。在seekbar小部件中,您可以更改android:progressDrawable表示矩形区域,也可以更改android:thumb表示圆形。但请记住,您必须实现禁用用户交互的自定义seekbar。我通过使用FrameLayo

我正在开发一个android应用程序,它需要显示一个自定义进度条,如下图所示。要自定义进度条,需要使用android:progressDrawable,因此可能需要一个可绘制(自定义形状)。但是,我不知道是否可以使用
shape
来实现这一点


我认为你最好使用
seekbar
。在
seekbar
小部件中,您可以更改
android:progressDrawable
表示矩形区域,也可以更改
android:thumb
表示圆形。但请记住,您必须实现禁用用户交互的自定义seekbar。

我通过使用FrameLayout覆盖进度条和圆形图像视图解决了这个问题。它工作得很好

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

           <ProgressBar
               android:id="@+id/tagGoal_title_progressbar"
               android:layout_width="match_parent"
               android:layout_height="10dp"
               android:layout_gravity="center_horizontal|center_vertical"
               style="?android:attr/progressBarStyleHorizontal"
               android:progressDrawable="@drawable/progressbar_color"
               android:progress="25"/>
           <ImageView
               android:id="@+id/tagGoal_circle_progressbar"
               android:layout_gravity="center_vertical"
               android:layout_width="20dp"
               android:layout_height="20dp"
               android:background="@drawable/bg_progress_circle"/>
</FrameLayout>


图像在哪里?您可以编写自定义视图。单击进度条图像,您可以看到图像。有关于编写自定义progressBar视图的教程吗?我不知道,请参见。也可以尝试在紫色矩形上重叠透明图像遮罩。您可能会看到
RatingBar
code。