Android RatingBar 比预期更早突出明星

标签 android ratingbar

我在应用程序中有一个 RatingBar 组件,我对其进行了以下配置:

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

问题是一旦触摸从下一个星星的部分穿过一个像素,下一个星星也会突出显示。有没有办法等到手指触摸到下一颗星的更多区域,然后才突出显示它。

注意:我不为星星使用 PNG。

最佳答案

如果您愿意尝试不同于普通的 RatingBar,您可能想尝试我制作的库:SimpleRatingBar .

它通过仅在触摸事件大于或等于 stepSize/4 时绘制填充来解决您提到的问题。这使得行为更加流畅,“跳动”更少。

它的特点:

  • 完全可用的 android:layout_width:它可以设置为 wrap_contentmatch_parent 或任意 dp。
  • 任意数量的星星。
  • 任意步长。
  • 星星的大小可以精确控制或通过设置最大大小来控制。
  • 正常状态下的可自定义颜色(边框、填充和星星背景以及评分栏)。
  • 按下状态下的可自定义颜色(边框、填充和星星背景以及评分栏)。
  • 星星之间可自定义的大小分隔。
  • 可定制的星星边框宽度。
  • 可自定义的星角半径。
  • 允许设置 OnRatingBarChangeListener 和 OnClickListener
  • 可以将星星填充设置为从左到右或从右到左(RTL 语言支持)。
  • AnimationBuilder 集成在 View 中以通过动画以编程方式设置评分。

Here is a preview of it .

您可以在 jcenterMaven CentralJitPack 中找到它。所以在你的 build.gradle 文件中添加你的依赖项:

编译 'com.iarcuschin:simpleratingbar:0.1.+'

关于Android RatingBar 比预期更早突出明星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41021015/

相关文章:

android - 在 Android Studio 中创建了一个简单的按钮,但没有出现

android - 如何在 HTC 手机中设置评级栏不可点击和可触摸

Android如何增加评分栏中星星的高度和宽度

android - 自定义评级栏?

android - onActivityResult 从未调用过

java - 在早期 Android 系统中使用旋转 vector

android - Google+ 无线安装使用 oAuth 2.0 协议(protocol)

安卓市场 : How to specify the newly required content ratings?

Android RatingBar 不接受浮点值

android - 评分栏在 gridview 中显示黑色叠加层