我创建了自定义评级栏。我在app中设置了默认的小评级栏。但是星星的差距是没有的。如何在每颗恒星中留出空隙?我可以给出下面给出的xml文件代码:
customratingbar.xml:
<?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/ic_star_normal"
></item>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/ic_star_selected"></item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/ic_star_selected"></item>
</layer-list>
Styles.xml:
<style name="CustomRating" parent="android:style/Widget.Material.RatingBar.Small">
<item name="android:progressDrawable">@drawable/custom_ratingbar</item>
<item name="android:paddingBottom">4dip</item>
<item name="android:layout_marginLeft">4dip</item>
<item name="android:layout_marginRight">5dip</item>
<item name="android:layout_marginTop">4dip</item>
</style>
我犯了什么错误?我不知道。我怎么解决这个问题?我是初学者,我不知道。
答案 0 :(得分:1)
您可以与UI/UX
设计师联系,也可以使用images
工具重新创建切片Android Asset Studio
在Android Asset Studio上传明星Image
并设置填充您想要的内容。比如8dp
答案 1 :(得分:0)
首先检查图像大小,如高度和宽度。
然后你只需添加你的styles.xml - 你可以改变身高
<style name="CustomRating" parent="android:style/Widget.Material.RatingBar.Small">
<item name="android:progressDrawable">@drawable/custom_rating</item>
<item name="android:minHeight">40dp</item>
<item name="android:maxHeight">40dp</item>
</style>
最后你将它添加到你的布局中。
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:fitsSystemWindows="true"
style="@style/CustomRating"
android:id="@+id/rating_bar" />