-->

空间的RatingBar的恒星之间(Space Between stars of ratingBar

2019-06-25 14:25发布

我需要插入我的RatingBar的恒星之间的空间,例如的RatingBar很好:

但我需要它这样的:

我怎么能做到这一点?

Answer 1:

我不知道这是否是有用的了,但我做了一个自定义库,它允许您更改空间beetwen星编程和XML(除其他东西): SimpleRatingBar 。

它的特点:

  • 完全工作android:layout_width :它可以被设置为wrap_contentmatch_parent或abritary DP。
  • 任意数量的星星。
  • 任意步长。
  • 恒星大小可以精确地或通过设置最大大小来控制。
  • 自定义颜色正常状态(边框,填充,星星等级栏背景)。
  • 自定义颜色按下状态(边框,填充,星星等级栏背景)。
  • 分之间可定制的大小分离。
  • 明星定制的边框宽度。
  • 可定制的星角半径。
  • 允许设置OnRatingBarChangeListener
  • 星星都填满可以设置为开始从左至右或从右到左(RTL语言支持)。
  • AnimationBuilder集成与动画编程设定等级的视图。

这里是它的一个预览 。

在你的情况,你只需要做:

ratingbar.setStarsSeparation(20, Dimension.DP);

或者,例如,在像素:

ratingbar.setStarsSeparation(100, Dimension.PX);

你可以找到它无论是在jcenterMaven Central 。 因此,在您build.gradle文件只是添加到您的依赖关系:

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



Answer 2:

你有一个属性。

android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"

@绘制/ RATING_STARS:

<?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_empty" />
    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/star_empty" />
    <item android:id="@+android:id/progress"
          android:drawable="@drawable/star" />
</layer-list>

star_empty和明星是这是在你的绘制目录中的图像。 所以,你可以改变星和star_empty在图形编辑器并添加一个spassing如果你需要。



Answer 3:

只要使用它的自定义图标并使用的样式,我的意思是它的Photoshop,你希望它看起来并与系统的评价风格图标替换。



Answer 4:

我认为你必须抓住系统星png文件的副本,并手动添加你想要将其与一个Photoshop /瘸子/其他编辑器中的填充。



Answer 5:

我同意添我申请相同的逻辑和它的工作。 在这里,在我的项目,我用我自己的星图的星ratin我由具有右侧,导致恒星之间的空间的额外空间(填充)星图



文章来源: Space Between stars of ratingBar