小型自定义评分条(只读自定义评分条)

3

我尝试创建一个自定义评分条。我不使用 style,因为我只需要使用一次。所以,我在 drawable 文件夹中创建了一个 layer-list(它的名称是 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 那么,如何使我的自定义评分条更小?(和默认的小型样式评分条一样小)。
而且这个自定义评分条仅用于展示(不能被用户更改)。
谢谢。

如果您只想显示此评分条,请设置:android:isIndicator="true" - mohsen
1个回答

3
首先,从你的android:id中删除"+"符号。此外,您可能需要在xml中添加样式,例如style="?android:attr/progressBarStyleHorizontal",具体取决于您的需求。您还可能需要使用android:indeterminateDrawable="@drawable/custom_rating_bar"代替progressDrawable。

谢谢:D,抱歉我不知道progressBar和rating bar之间的关系是什么?:D - Blaze Tama
1
@BlazeTama,哦,是的,我也很困惑。没有注意到这是一个评分栏。你想要的是评分栏还是进度条?在评分栏中,progressDrawable属性未定义... - LuxuryMode
1
@BlazeTama,实际上我看到他们确实有progressDrawables。 - LuxuryMode
我想制作一个小的自定义评分条。如何定义它?谢谢:D - Blaze Tama
1
此外,您需要设置评分条的最小和最大高度以匹配资产的大小。否则,事情看起来不太对劲。 - LuxuryMode
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接