自定义进度绘制不适用于 Android Lollipop (API 21) 设备

2024-01-12

我有一个进度绘图,它在运行 Android Lollipop 的设备上无法正常工作。

Screenshot on M enter image description here

Screenshot on Lollipop enter image description here

Circle_percentage_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="oval">
      <solid android:color="@color/colorTranslucentBlack"/>
    </shape>
  </item>
  <item android:id="@android:id/progress">
    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>
  </item>
  <item android:id="@android:id/secondaryProgress">
    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>
  </item>

</layer-list>

该可绘制对象用作 ProgressView 的背景,如下所示:

<ProgressBar
      android:id="@+id/circle_progress"
      style="?android:attr/progressBarStyleHorizontal"
      android:layout_width="70dp"
      android:layout_height="70dp"
      android:gravity="center"
      android:progress="65"
      android:indeterminate="false"
      android:progressDrawable="@drawable/circle_percentage_drawable"
      />

在运行 Android M、KitKat、Jellybean 的设备上,呈现为绘制到 65% 的圆圈。但是,如果相同的代码在 Android Lollipop (API 21) 上运行,则圆圈显示为 100%。

完整源代码可在此处获取:https://github.com/slashrootv200/CircleProgressPercentage https://github.com/slashrootv200/CircleProgressPercentage


Add android:useLevel=true"在你的圆形进度条 xml 中

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>

    <shape android:shape="oval"
           android:useLevel="true">
      <solid android:color="@color/colorTranslucentBlack"/>
    </shape>

  </item>

  <item android:id="@android:id/progress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

  <item android:id="@android:id/secondaryProgress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

</layer-list>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义进度绘制不适用于 Android Lollipop (API 21) 设备 的相关文章

随机推荐

  • 在 GitHub 上 fork 是什么意思?

    经过一番探索 在我的理解中 这和贡献有关 Fork 意味着将存储库 被分叉的那个 复制一份到我自己的 github 帐户中 如果我想分叉官方 jQuery 存储库 那么我会去https github com jquery jquery ht
  • 集合视图标题

    Xamarin Forms 版本 4 2 0 848062 iOS iPhone 8 iOS 13 1 安卓 9 0 在 iOS gt CollectionView Header 中不起作用 图片 gt https ibb co 30yw2
  • Sublime text 和 Linux-KDE。系统区域设置设置为无法处理非 ASCII 字符的值

    当我打开 ST3 时出现此错误 包控制不起作用 包控制您的系统的本地设置为一个值 不能 处理非 ASCII 字符 包控制无法正常工作 除非这是固定的 在 Linux 上 请参考您的发行版文档以正确打开 设置 LANG 环境变量 作为临时解决
  • 如何使用简单的样式表转换 ms excel xml?

    我需要使用样式表转换以 xml 格式保存的 Excel 电子表格 但我一直对 ms 使用的许多命名空间感到困惑 我需要一个XSLT 样式表允许输入 xml 的每个元素传递 当我使用样式表时 默认值似乎传递所有文本 否则该样式表应该只传递我正
  • 虚拟主机配置中的 apache 西里尔文通配符

    有一个问题 我有一个包含许多子域的项目 它的配置如下 VirtualHost1 ServerAlias a example com VirtualHost2 ServerAlias b example com VirtualHost3 Se
  • android studio 中带有选择器的图像按钮渲染错误

    我用选择器制作了一个具有按下效果的按钮 我正在使用 android studio 当我使用 eclipse 时它运行良好 但是 当我在 android studio 中尝试时 日志不断显示错误 这是我的日志 java lang NullPo
  • 一种计算响应式网格中列数的方法

    虽然我还没有找到答案 但问题很简单 有没有办法 除了蛮力之外 计算响应式网格中的列数 grid container width 100 height 85 position relative padding var gap adjusted
  • 在 dplyr summarise 中使用变量列名

    我发现这个问题已经被问过 但没有正确的答案 R在dplyr的summary函数中使用变量列名 https stackoverflow com questions 31979189 r using variable column names
  • 如何使用 JMock 在 java 中模拟静态变量

    我有一个单元测试问题 其中一个类有一个静态变量想要加载 Spring 应用程序 Ctx 这个类不是来自 Bean Factory 我无法改变这个事实 static ApplicationContext applicationContext
  • 多个 AVAudioRecorder 实例

    我正在开发一个记录声音的应用程序 此外 我希望用户能够用自己的声音评论某些情况 我认为配置一个音频会话并创建两个具有不同文件 URL 的 AVAudioRecorder 实例就足够了 但这不起作用 第二个录音机确实创建了其音频文件 但它不记
  • AAA在8086指令集中如何工作?

    有一些关于指令如何工作的算法的信息 if low nibble of AL gt 9 or AF 1 then AL AL 6 AH AH 1 AF 1 CF 1 else AF 0 CF 0 in both cases clear the
  • 如何将 npm(node.js 包管理器)添加到 PATH 中?

    我像这样安装了node js cd usr local bin git clone depth 1 http github com joyent node git cd node git checkout origin v0 4 optio
  • 使用 html Mailto 向多个收件人发送电子邮件:不起作用

    我们有 400 到 500 百封电子邮件 当我们连接它们并将它们放入 mailto 时 它不起作用 浏览器会自动在电子邮件之间添加 并且单击链接不起作用 a href open emails a 是否有最大长度mailto 属性 还有其他方
  • 在 Windows 上编译 MatConvNet

    我正在尝试编译矩阵卷积网络 http www vlfeat org matconvnet 在 Windows 8 1 上 因为我似乎需要使用 Makefile 来做到这一点 所以我下载了GNUWin 制作 http gnuwin32 sou
  • 在 AVX 中寻找绝对

    在其中一个解决方案中 他 她发现abs inp 对于 AVX 向量 m256 符号位 mm256 set1 ps 0 0f m256 inp abs mm256 andnot ps sign bit inp 其背后的逻辑是什么 SSE AV
  • PayPal API - 验证帐户是否有效/存在/已验证

    有人能够仅通过电子邮件地址验证 PayPal 帐户的有效性吗 AdaptiveAccounts GetVerifiedStatus 用 PayPal 自己的话说 仅供其关键战略客户使用 见下文 我找不到任何其他方法来根据电子邮件地址检查帐户
  • asp.net表单身份验证多人使用同一用户名登录

    我有一个使用表单身份验证的 MVC3 网站 我想知道如果多个或更多人使用同一用户帐户登录是否会出现任何问题 我一直在尝试解决我们遇到的错误 看起来网站服务器在与数据库服务器通信时出现问题 但是我只是想排除帐户共享引起问题的可能性 Thank
  • F# 命名空间或模块“XXXX”未定义

    我正在尝试创建一个基本的 ASP net f 应用程序 当我尝试引用 Youtube net API 时 我在代码隐藏文件中收到 命名空间或模块 Google 未定义 我在 Visual Studio 中使用了默认的 ASP Web 表单模
  • 选择一个 xml 元素,忽略元素名称,打印换行符

    我想选择第一个元素 但在输出中忽略它的名称 这就是我在请求第一个之后得到的url每个输入 xml 文件中的元素 xmllint xpath yandexsearch response results grouping group doc u
  • 自定义进度绘制不适用于 Android Lollipop (API 21) 设备

    我有一个进度绘图 它在运行 Android Lollipop 的设备上无法正常工作 Screenshot on M Screenshot on Lollipop Circle percentage drawable xml