我需要在ratingBar的星星之间插入一个空格,例如评级栏很好:
但我需要它:
我怎么能这样做?
答案 0 :(得分:4)
你有下一个属性。
android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"
@ drawable / 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是可绘制目录中的图像。 因此,您可以在图形编辑器中更改star和star_empty,并根据需要添加spassing。
答案 1 :(得分:4)
我不知道它是否会有用,但我创建了一个自定义库,允许您以编程方式和XML格式(以及其他内容)更改空间beetwen stars:SimpleRatingBar。
它的特点:
android:layout_width
:可以将其设置为wrap_content
,match_parent
或abritary dp。在您的情况下,您只需要这样做:
ratingbar.setStarsSeparation(20, Dimension.DP);
或者,例如,像素:
ratingbar.setStarsSeparation(100, Dimension.PX);
您可以在jcenter
或Maven Central
中找到它。因此,在build.gradle
文件中,只需添加依赖项:
compile 'com.iarcuschin:simpleratingbar:0.1.+'
答案 2 :(得分:1)
只需使用自定义图标并使用该样式,我的意思是Photoshop,因为您希望它看起来并替换为系统评级样式图标。
答案 3 :(得分:0)
我认为您必须获取系统星形png文件的副本,并使用photoshop / gimp /其他编辑器手动添加您想要的填充。
答案 4 :(得分:0)
我同意蒂姆 我应用了相同的逻辑并且工作正常。 在我的项目中,我正在使用我自己的星形图像为明星拉丁 我制作的星形图像在右侧有额外的空间(填充),导致星星之间的空间