Android 拉廷巴星间的空间

Android 拉廷巴星间的空间,android,rating,Android,Rating,我需要在我的评级条的星星之间插入一个空格,例如评级条很好: 但我需要它: 我该怎么做呢?我想你必须抓取一份systems star png文件的副本,然后用photoshop/gimp/其他编辑器手动添加你想要的填充 我同意蒂姆的看法 我应用了同样的逻辑,它成功了。 在我的项目中,我使用我自己的恒星图像来计算恒星比率 我制作的星星图像在右侧有额外的空间(填充),这导致了星星之间的空间你有了下一个属性 android:progressDrawable = "@drawable/rating_s

我需要在我的评级条的星星之间插入一个空格,例如评级条很好:

但我需要它:


我该怎么做呢?

我想你必须抓取一份systems star png文件的副本,然后用photoshop/gimp/其他编辑器手动添加你想要的填充

我同意蒂姆的看法 我应用了同样的逻辑,它成功了。 在我的项目中,我使用我自己的恒星图像来计算恒星比率
我制作的星星图像在右侧有额外的空间(填充),这导致了星星之间的空间

你有了下一个属性

android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"
@可拉拔/额定值\u星:

<?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是可绘制目录中的图像。
因此,您可以在图形编辑器中更改星号和星号为空,并在需要时添加一个spassing。

只需为其使用自定义图标,并使用样式,我的意思是Photoshop它,因为您希望它看起来像,并替换为系统评级样式图标。

我不知道它是否还会有用,但我制作了一个自定义库,允许您通过编程和XML(以及其他内容)更改空间:

它的特点是:

  • 完全工作的
    android:layout\u width
    :它可以设置为
    wrap\u content
    match\u parent
    或基本dp
  • 任意数量的星星
  • 任意步长
  • 恒星的大小可以精确控制,也可以通过设置最大大小来控制
  • 正常状态下的自定义颜色(星星和评级栏的边框、填充和背景)
  • 在按下状态下可自定义颜色(星星和评级栏的边框、填充和背景)
  • 可定制的星间大小间隔
  • 可自定义的星星边框宽度
  • 可定制的星星角半径
  • 允许设置OnRatingBarChangeListener
  • 星形填充可以设置为从左向右或从右向左开始(RTL语言支持)
  • 集成在视图中的AnimationBuilder可通过动画编程设置分级

在您的情况下,您只需执行以下操作:

ratingbar.setStarsSeparation(20, Dimension.DP);
或者,例如,以像素为单位:

ratingbar.setStarsSeparation(100, Dimension.PX);
您可以在
jcenter
Maven Central
中找到它。因此,在
build.gradle
文件中,只需添加到依赖项:


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

根据我在上面发布的链接,我相信你可以使用大小属性来伪造填充(通过为
分级栏设置
样式
标记)来定制星星使用的
可绘制的
。这种方式很难看,没有一种方法来配置ratingbarclass@Soxxeh嗯,我在你发布的任何一个链接中都找不到这样的例子。第一个看起来更有希望,但是第一句话说:“您必须将填充添加到png本身”,然后显示ProgressBar类中的一个方法。我没有看到任何影响填充的样式。你能详细解释一下吗?@Tim Argh,我的错,我误读了我发布的第二个链接。(它改变了实际的图像大小,而不是大小+填充…)我将在上面对此进行评论。请看。我添加了一个功能请求,请投赞成票:是的,我同意,但是。现在考虑下面的内容,您将在一个大型项目上制作4种类型的RungBar,每一个具有2个或3个不同类型的可绘制的RabangBar都有大约10个图像,比如说,2px的空间,现在认为有必要增加1px空间,我更喜欢将StPoPad(2)改为StPoPad(3)。而不是重新发布超过10张图片。你有办法解决吗。请分享你的最佳尝试。不幸的是,我发现没有什么优雅的方法可以解决这个问题,我在自己的图片中添加了间距:(我不喜欢这个问题,希望有一天能找到一个合适的方法来做这件事。是的,我同意,但是现在考虑一下,你将在一个大项目上制作4种类型的拉杆,每根3根不同类型的拉杆都有大约12张图像,比如说2px的空间,现在认为有必要增加1px空间,我更喜欢。将setPadding(2)更改为setPadding(3),而不是重新发布10张以上的图像通过在可绘制图像的左侧和/或右侧添加插图,我们在视图的左侧和/或右侧边框上获得了不需要的填充。它不支持星型自定义可绘制图像。或者是这样吗?Hi@FoY,它不支持。