小型定制评级栏(只读定制评级栏)

时间:2013-01-10 04:59:19

标签: android custom-component ratingbar

我尝试创建自定义评级栏。我不使用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")时,我的评级栏变得太大(显示图像)。

此图像显示它有多大(我认为图像之间的边距也太多): enter image description here

那么,如何让我的自定义评级栏更小?(小到默认的小型评级栏)。

此自定义评级栏仅<仅显示 (无法由用户更改)。

感谢。

1 个答案:

答案 0 :(得分:2)

首先,从你的android:id中删除“+”。此外,您可能希望在xml中添加样式,例如style="?android:attr/progressBarStyleHorizontal",具体取决于您的需要。您可能还需要使用android:indeterminateDrawable="@drawable/custom_rating_bar"而不是progressDrawable