android - Circle ProgressBar Android改变厚度等

标签 android android-layout android-xml android-progressbar

我正在使用 Android 的“正常”圆形 ProgressBar,如下所示:

rogr

所以,我想做的是改变这个 ProgressBar 的颜色、粗细和角(带 cornerradius)。

我找到了一些执行此操作的示例,但它仅适用于水平 ProgressBar,但我想保留这个原始 ProgressBar。

非常感谢!

最佳答案

进度条本质上是一个可绘制的rotate 动画。这是我们使用的具有不同颜色渐变的更薄的东西。您可以看到使用 thickness 作为宽度以及使用 startend 颜色。

根据自己的喜好调整:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="720" >

  <shape
      android:shape="ring"
      android:thickness="@dimen/progress_circle_thickness"
      android:useLevel="false" >

    <gradient
        android:angle="0"
        android:endColor="@color/progress_circle"
        android:startColor="@android:color/transparent"
        android:type="sweep"
        android:useLevel="false" />
  </shape>
</rotate>

并在你的布局中使用这样的东西:

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:indeterminateDrawable="@drawable/progress_circle"/>

关于android - Circle ProgressBar Android改变厚度等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53163944/

相关文章:

android - 更改 xml 可绘制图标的颜色

android - 在选择器 StateListDrawable 中使用 attr 引用

android - 如何使表格布局行在 android 中可滚动?

android - NetBeans Android 安装错误

android - 如何在以编程方式添加到 LinearLayout 的按钮之间添加边距空间?

android - 如果有足够的空间,在布局的中心查看

android - 奇怪的Android布局

android - 使用 libstreaming 在 rtsp 中发送多播音频以从 android 设备上传

android - android中的 9-patch 图片

android - 将项目更新到 Android X 后编译时出错