自定义进度条中的圆角渐变

2023-12-22

你会如何制作圆角渐变ProgressBar就像屏幕上一样?

我现在拥有的:

pb_shape.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
    <shape>
        <corners android:radius="12dip" />

        <stroke
            android:width="1dip"
            android:color="@color/primary_white" />

        <gradient
            android:angle="270"
            android:centerColor="@color/primary_black"
            android:centerY="0.5"
            android:endColor="@color/primary_black"
            android:startColor="@color/primary_black"/>

        <padding
            android:bottom="4dp"
            android:left="4dp"
            android:right="4dp"
            android:top="4dp" />
    </shape>
</item>
<item android:id="@android:id/progress">
    <clip>
        <shape>
            <corners android:radius="12dip" />
            <gradient
                android:angle="0"
                android:endColor="@color/primary_teal"
                android:startColor="@color/primary_blue_dark" />             
        </shape>
    </clip>
</item>
<ProgressBar
        android:id="@+id/pb_timer"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:progressDrawable="@drawable/pb_shape" />

我已经尝试添加android:gradientRadius="12dip"到 pb_shape 但没有任何效果。


看来我找到了一个解决方法,感谢您为@krislarson 提供了正确的搜索方向,并且这个帖子 https://stackoverflow.com/a/25137327/4673764

结果代码:pb_shape.xml:

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

    <shape android:shape="rectangle">

        <corners android:radius="12dip" />

        <stroke
            android:width="1dip"
            android:color="@color/primary_white" />

        <gradient
            android:angle="270"
            android:centerColor="@color/primary_black"
            android:centerY="0.5"
            android:endColor="@color/primary_black"
            android:gradientRadius="12dip"
            android:startColor="@color/primary_black" />
    </shape>
</item>

<item android:id="@android:id/progress">
    <scale
        android:drawable="@drawable/pb_custom_progress"
        android:scaleWidth="98%" />
</item>
</layer-list>

pb_custom_progress.xml神奇之处在于:

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

<!--make it rounded-->
<corners
    android:radius="20dp"
    android:topLeftRadius="20dp"
    android:topRightRadius="20dp" />

<gradient
    android:angle="0"
    android:endColor="@color/primary_teal"
    android:startColor="@color/primary_blue_dark" />

<!--create invisible stroke for padding-->
<stroke
    android:width="6dip"
    android:color="@android:color/transparent"/>

</shape>

result:

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

自定义进度条中的圆角渐变 的相关文章

随机推荐

  • Matplotlib rcParams 无法识别“Times New Roman”(mac High Sierra)

    我正在尝试将 matplotlib 图的字体设置为 Times New Roman 我努力了 import matplotlib pyplot as plt plt rcParams font family Times New Roman
  • 是否可以在 ProxyPass/ProxyPassReverse 中使用相对路径?

    例如httpd conf中有以下配置 ProxyPass app http somehost someport App 1 ProxyPassReverse app http somehost someport App 1 现在我应该使用绝
  • 在 Laravel 5.3 中调用 SEOStats 实例时未找到“SEOstats\SEOstats”类

    我正在尝试在 laravel 中使用 SEOstats php 包 我使用 Composer 安装了它 然后在我的控制器中我使用了它 如下所示 use SEOstats Services as SEOstats class Reportag
  • 签入代码而不在 Heroku 上部署

    我已经在 Heroku 上成功运行了一个应用程序 但现在想与合作者合作 有没有一种方法可以签入 并拉取 代码而无需实时部署 现在 git Push 已部署以对实时站点进行编码 创建一个新分支并使用它 git checkout b BRANC
  • 二值图像的简单多斑点检测?

    如果存在给定的图像二维数组 其中阈值已经完成并且现在是二进制信息 有没有什么特殊的方法来处理这个图像 以便我在图像上获得多个斑点的坐标 我无法使用 openCV 因为这个过程需要在 C 语言的自定义模拟器上同时运行 10 多个模拟机器人 我
  • 使用 local-name() 获取 XSLT 中的第一个子节点

    假设我们有这个简单的 xml
  • SQL Server 中的自定义聚合函数(concat)

    问题 我想编写一个自定义聚合函数 用于连接分组依据上的字符串 这样我就可以做一个 SELECT SUM FIELD1 as f1 MYCONCAT FIELD2 as f2 FROM TABLE XY GROUP BY FIELD1 FIE
  • 使用 Subclipse 1.6.5 时出现未知图标

    我在 Eclipse IDE 中使用 SVN 插件 Subclipse 我最近注意到我的一个目录被标记为下面所示的图标 在查看了 Subclipse 标签装饰器后 我没有看到这个 有谁知道它代表什么吗 这意味着您有版本化的 SVN 属性修改
  • 如何在数据库中存储具有动态数量属性的数据

    我有许多不同的对象 它们具有不同数量的属性 到目前为止 我已将数据保存在 XML 文件中 这可以轻松地允许不断变化的属性数量 但我正在尝试将其移至数据库 您存储这些数据的首选方式是什么 到目前为止我已经确定的一些策略 在对象的表中有一个名为
  • 为什么 (a | b ) 等于 a - (a & b) + b?

    我正在寻找一种使用 Oracle 数据库执行 BITOR 的方法 并遇到了一个仅使用 BITAND 的建议 将 BITOR a b 替换为 a b BITAND a b 我手动测试了几次 并验证它似乎适用于我能想到的所有二进制数 但我无法快
  • 将图像显示到 Windows 窗体中

    我想在 Windows 窗体上显示图像 但我已经这样做了 但图像没有显示出来 我哪里做错了 这是代码 private void Images object sender EventArgs e PictureBox pb1 new Pict
  • 如何使用 php 验证不一致端点?

    我在创建 Discord 机器人时遇到一些问题 我希望它能够响应斜杠命令 但要做到这一点 我需要验证端点 我使用的是 PHP 7 4 并且无法使用任何外部库 托管在不允许使用它们的服务器上 我找到了 PHP 的文档 但它们确实需要库才能工作
  • 在 Xcode 上的图像上添加文本

    我想制作一个类似于某些贺卡应用程序的 iPhone 应用程序 我可以在一些预先准备好的背景图像 卡片 上写入文本 我该如何写这段文字 如何将背景图像 文本保存在一个图像文件中 Thanks 这是一种将字符串刻录成图像的方法 您可以调整字体大
  • 最快的实时解压算法

    我正在寻找一种算法 以最小的开销实时解压缩数据块 1k 30k 压缩速度最好要快 但不如解压速度那么重要 据我所知 LZO1X 是最快的 我错过了什么吗 理想情况下 该算法不受 GPL 约束 lz4 https github com lz4
  • 如何清除 MassTransit 队列?

    我想在集成测试设置例程中删除队列中的所有消息 如何实现 谷歌搜索 智能感知暴力没有运气 如果重要的话 我使用 RabbitMq 作为传输 无法从 MassTransit 内的队列中 删除 对于测试 您可以通过使用临时的随机队列 URIrab
  • 如何使用 Polymer 将自定义字体导入应用程序或元素?

    如何将自定义字体导入 Polymer 应用程序或元素 根据 tweightman 的聚合物松弛通道 https polymer slack com
  • React Hook useEffect 缺少依赖项:“list”

    运行以下代码后 我收到以下错误 React Hook useEffect 缺少依赖项 list 包含它或删除依赖项数组react hooks exhaustive deps 我找不到警告的原因 import React useState u
  • 在控制器构造函数中使用 User.Identity.Name 定义用户

    对于要与用户帐户交互的操作 除了在调用控制器上的任何操作后立即将该对象添加到 ViewData TheUser 之外 我还想创建一个 TheUser 对象 如果用户已登录 它将从数据库中获取用户的信息 如果没有 TheUser 对象将为空
  • 是否可以编写命令来支持多行参数,即其中包含换行符,如heredocs?

    Overview 如何编写一个 sbt 命令来支持其中包含换行符的参数 heredocs http en wikipedia org wiki Here document 我想要一个 sbt 命令 用户可以在其中粘贴多行文本块 然后将其处理
  • 自定义进度条中的圆角渐变

    你会如何制作圆角渐变ProgressBar就像屏幕上一样 我现在拥有的 pb shape xml