android 进度条圆角样式
时间: 2023-06-30 15:11:11 浏览: 66
要实现 Android 进度条(ProgressBar)的圆角样式,可以通过自定义 ProgressBar 的样式来实现。可以在 XML 布局文件中使用 `<style>` 标签定义一个新的 ProgressBar 样式,然后在 ProgressBar 控件的属性中引用该样式即可。
以下是一个简单的示例代码,实现了一个圆角进度条的样式:
```xml
<style name="CustomProgressBar" parent="android:Widget.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/custom_progressbar_horizontal</item>
<item name="android:minHeight">4dp</item>
<item name="android:maxHeight">4dp</item>
</style>
<ProgressBar
style="@style/CustomProgressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="50" />
```
其中,`@drawable/custom_progressbar_horizontal` 是一个自定义的 drawable 文件,用于定义 ProgressBar 的外观。以下是该文件的代码:
```xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dp" />
<solid android:color="@color/gray" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dp" />
<solid android:color="@color/blue" />
</shape>
</clip>
</item>
</layer-list>
```
在这个 drawable 文件中,我们使用了 `<layer-list>` 标签来定义了两个层,分别是背景层和进度层。在每个层中,我们使用 `<shape>` 标签来定义了一个圆角矩形,并指定了 `android:radius` 属性来设置圆角半径。
在进度层中,我们使用了 `<clip>` 标签来裁剪形状,以便根据进度值来显示正确的进度。注意,我们使用了 `android:id="@android:id/progress"` 属性来标识进度层,以便在样式中引用该层。
最终的效果是一个带有圆角的进度条,可以根据进度值来显示正确的进度。