我尝试创建自定义评级栏。我不使用style
,因为我只使用过一次。所以,我在layer-list
文件夹中创建了drawable
(其名称为custom_rating_bar.xml
):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/custom_icon_empty"/>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/custom_icon_empty"/>
<item
android:id="@android:id/progress"
android:drawable="@drawable/custom_icon"/>
</layer-list>
我在评级栏中使用此代码来使用这些图标:
android:progressDrawable="@drawable/custom_rating_bar"
我的图片尺寸是标准尺寸(mdpi为48x48等),我使用小风格评级栏:
style="?android:attr/ratingBarStyleSmall"
问题是,我无法将style="?android:attr/ratingBarStyleSmall"
与android:progressDrawable
一起使用(当我这样做时,图像将不会显示)。当我删除样式(style="?android:attr/ratingBarStyleSmall"
)时,我的评级栏变得太大(显示图像)。
此图像显示它有多大(我认为图像之间的边距也太多):
那么,如何让我的自定义评级栏更小?(小到默认的小型评级栏)。
此自定义评级栏仅<仅显示 (无法由用户更改)。
感谢。
答案 0 :(得分:2)
首先,从你的android:id中删除“+”。此外,您可能希望在xml中添加样式,例如style="?android:attr/progressBarStyleHorizontal"
,具体取决于您的需要。您可能还需要使用android:indeterminateDrawable="@drawable/custom_rating_bar"
而不是progressDrawable