当我为 Android RatingBar 使用自定义星星时,对于低于 0.5 的小数值始终显示半星

2023-11-24

我查了很多帖子(例如Android RatingBar更改星星颜色, 更改评级栏中星星的颜色,其中评级栏是在android中动态创建的, 如何设置评分栏的星星颜色?)以更改评级栏中星星的颜色。我关注了这些帖子,并且能够更改自定义评级栏的星星,但在执行此操作时,我无法再将值设置为低于一半的小数(例如 0.2)。它总是显示为一半(例如 0.5)。当我将值设置为一半以上(例如 0.7)时,它会完美显示。

以下是我用于自定义评级栏的示例图像(即 ratingbar_empty.png、 ratingbar_half.png、 ratingbar_full.png)

Empty Star Half Star Full Star

以下是使用自定义星星的 xml ( ratingbar_custom.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" android:drawable="@drawable/ratingbar_empty" />
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/ratingbar_half" />
    <item android:id="@android:id/progress" android:drawable="@drawable/ratingbar_full" />
</layer-list>'

以下是我如何在布局中使用自定义评级栏。

<RatingBar 
    android:id="@+id/rb_rating"
    android:numStars="7"
    android:rating="0"      
    android:stepSize="0.01"                     
    android:isIndicator="true"                                                            
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:progressDrawable="@drawable/ratingbar_custom" />

然后,当我将它们放在一起并将 RatingBar 的值设置为 0.2 时,它会在视觉上将 RatingBar 设置为 0.5,如下所示。有谁知道为什么会发生这种情况或者我做错了什么?任何帮助将不胜感激。谢谢

Setting custom RatingBar to 0.2, but visually showing 0.5


你不需要 star_half。

尝试这样做:

<?xml version="1.0" encoding="utf-8"?>

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

当我为 Android RatingBar 使用自定义星星时,对于低于 0.5 的小数值始终显示半星 的相关文章

随机推荐

  • 如何使用 Java 中的 ResultSet 获取行数?

    我正在尝试创建一个简单的方法 该方法接收 ResultSet 作为参数并返回一个包含 ResultSet 行数的 int 这是一种有效的方法吗 int size 0 try while rs next size catch Exceptio
  • 在 matplotlib 中向辅助 y 轴添加 y 轴标签

    我可以使用以下命令向左侧 y 轴添加标签plt ylabel 但如何将其添加到辅助 y 轴 table sql read frame query connection table 0 plot color colors 0 ylim 0 1
  • Android Studio 错误:无法翻译 setText 中的字符串文字

    这是我的第一个应用程序 我遇到了一些麻烦 当我运行该应用程序时 它崩溃了 我不知道如何修复此错误 public class MainActivity extends AppCompatActivity TextView outputBott
  • 创建“灵活”的 XML 模式

    我需要为 XML 文件创建一个非常灵活的架构 它必须满足以下要求 验证我们需要存在的一些元素 并了解其确切结构 验证一些可选元素 我们知道其确切结构 允许任何其他元素 以任意顺序允许它们 快速示例 XML
  • 蒙戈服务崩溃了。需要查找崩溃原因

    今天早上我在我的服务器上发现 mongo 出现以下错误 System restart required You have mail ubuntu ip xxx xx xx xx mongo MongoDB shell version 2 4
  • Manifest.json 意外令牌

    你好 我将一个反应 表达项目推到了heroku https polar oasis 57801 herokuapp com 并在控制台中收到以下错误 Chrome 控制台错误消息 我尝试查找此错误 似乎我需要更改 manifest json
  • 将数组或列表传递给 @Pathvariable - Spring/Java

    我正在 JBoss Spring 中做一个简单的 获取 我希望客户端在 url 中向我传递一个整数数组 我如何在服务器上进行设置 并显示客户端应该发送消息吗 这就是我现在所拥有的 RequestMapping value test firs
  • multiprocessing.Manager 嵌套共享对象不适用于队列[重复]

    这个问题在这里已经有答案了 Python 文档multiprocessing模块状态 3 6版本更改 共享对象可以嵌套 例如 共享容器对象 例如共享列表 可以包含其他共享对象 这些对象都将由共享容器对象管理和同步 SyncManager 这
  • 在 JavaScript 中定义“嵌套”对象构造函数?

    是否可以在另一个对象中定义一个对象 我在想这样的事情 function MyObj name this name name function EmbeddedObj id this id id 然后我可以创建一个 EmbeddedObj 如
  • Rails 4 中的 form_for 参数数量错误

    我正在使用 form for 标签 它在 Rails 3 0 4 环境中工作 但是当我尝试将项目更新到 Rails 4 时 出现以下错误 参数数量错误 3 对 2 这是我的代码 尝试删除可能试图改变视图中的内容的内容 就我而言 问题在于cl
  • 如何将计算列添加到我的 EF4 模型?

    给定 MS SQL 2008 中的 用户 表和 登录 表 CREATE TABLE dbo User User UserID int IDENTITY 1000 1 NOT NULL UserName varchar 63 NOT NULL
  • 如何解决读取问候语数据包时出现错误?

    我正在尝试连接到 NetBeans 中的服务器 我写的代码如下 运行此代码会返回此错误 wlecome Warning mysqli connect MySQL server has gone away in C xampp htdocs
  • C 和 C++ 中的 static 和 extern 全局变量

    我制作了 2 个项目 第一个项目使用 C 语言 第二个项目使用 C 语言 两者都具有相同的行为 C项目 header h int varGlobal 7 main c include
  • 在 C++ 中,如何在运行时获取给定元素的模板类型?

    我正在设计一个简单的Array类能够保存任何类型的对象 就像一个向量可以在一个对象中保存多种类型的数据 这是为了学习目的 我有一个名为的空基类Container class Container 还有一个名为的模板化子类Object temp
  • Flex 项目在 Chrome 和 IE11 中重叠

    我正在尝试创建一个固定高度的 Flexbox 布局 当内部内容太大时 它会滚动内部内容 另外 如果内容不会导致滚动 我想修复一个带有按钮的 div 到容器底部 我有一个在 Firefox 中完美运行的布局 但在 Chrome 中 当底部按钮
  • 替换单列值

    如何替换数据框单列中的值 例如 dataz 列中的所有 0 值均变为 1 datay dataz 1 0 100 2 2 101 3 3 102 4 4 103 5 10 0 6 11 0 7 0 0 8 0 0 9 0 0 10 12 1
  • 检查函数参数的最佳方法? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我正在寻找一种有效的方法来检查 Python 函数的变量 例如 我想检查参数类
  • TaskCancellationException 如何避免成功控制流上的异常?

    在我们的应用程序中 我们大量使用异步 等待和任务 因此 它确实大量使用 Task Run 有时使用内置的取消支持CancellationToken public Task DoSomethingAsync CancellationToken
  • 使用二叉索引树进行 RMQ 扩展

    The RMQ问题可以这样扩展 给定的是一个数组n整数A 查询 x y 给定两个整数 1 x y n 找到最小值A x A x 1 A y 更新 x v 给定一个整数v且 1 x n do A x v 这个问题可以解决O log n 对于这
  • 当我为 Android RatingBar 使用自定义星星时,对于低于 0.5 的小数值始终显示半星

    我查了很多帖子 例如Android RatingBar更改星星颜色 更改评级栏中星星的颜色 其中评级栏是在android中动态创建的 如何设置评分栏的星星颜色 以更改评级栏中星星的颜色 我关注了这些帖子 并且能够更改自定义评级栏的星星 但在