Android评分条提前突出显示星星

3

我在应用程序中有一个RatingBar组件,其配置如下:

android:numStars="5"
android:stepSize="1.0"

问题是当触摸到下一个星的一像素时,下一个星就会被突出显示。有没有办法等待手指触摸离下一个星更远的区域,然后才突出显示它。
注意:我不使用PNG格式的星星。

将minHeight和maxHeight设置为图标的大小。 - Surya Prakash Kushawah
@SuryaPrakashKushawah 我写了一条注释,说明我不使用图标 :) - X-HuMan
1个回答

0

如果你想尝试与默认RatingBar不同的一种,你可能会想尝试我制作的库:SimpleRatingBar

它通过仅在触摸事件大于或等于stepSize / 4时才绘制填充来解决您提到的问题。这使得其行为更加平滑,减少了“跳跃”感。

它的功能包括:

  • 完全工作的android:layout_width: 可以设置为wrap_contentmatch_parent或任意dp。
  • 任意数量的星星。
  • 任意步长。
  • 可以精确地控制星星的大小或设置最大大小。
  • 普通状态下颜色可自定义(星星和评分条的边框、填充和背景)。
  • 按下状态下颜色可自定义(星星和评分条的边框、填充和背景)。
  • 可自定义星星间的大小分隔。
  • 可自定义星星的边框宽度。
  • 可自定义星星的圆角半径。
  • 允许设置OnRatingBarChangeListener和OnClickListener。
  • 星星的填充可以从左到右或从右到左设置(支持RTL语言)。
  • 在视图中集成了AnimationBuilder,可以以动画方式编程设置评分。

这里是预览

你可以在 jcenterMaven 中央库JitPack 找到它。因此,在你的 build.gradle 文件中,只需将以下内容添加到你的依赖项中:

compile 'com.iarcuschin:simpleratingbar:0.1.+'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接