3

我试图创建一个自定义评分栏。我不使用style,因为我只使用过一次。所以,我layer-listdrawable文件夹中创建了一个(它的名字是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")时,我的评分栏变得太大(显示图像)。

这张图片显示了它有多大(我认为图片之间的边距也太大了): 在此处输入图像描述

那么,如何让我的自定义评分栏变小呢?(与默认的小样式评级栏一样小)。

此自定义评分栏仅供展示(用户无法更改)。

谢谢。

4

1 回答 1

3

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

于 2013-01-10T05:03:50.087 回答