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
或基本dpmatch\u parent
- 任意数量的星星
- 任意步长
- 恒星的大小可以精确控制,也可以通过设置最大大小来控制
- 正常状态下的自定义颜色(星星和评级栏的边框、填充和背景)
- 在按下状态下可自定义颜色(星星和评级栏的边框、填充和背景)
- 可定制的星间大小间隔
- 可自定义的星星边框宽度
- 可定制的星星角半径
- 允许设置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,它不支持。