1

我的搜索栏有以下代码

<SeekBar
    android:id="@+id/sbCardSpeed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginRight="5dp"
    android:max="100"
    android:progress="50"
    android:secondaryProgress="0"
    android:progressDrawable="@drawable/seekbar_progress"
    android:thumb="@drawable/seek_thumb" />

seek_thumb 是一个名为 seek_thumb.9.png 的 9 个补丁图像文件。无法识别此drawable并且未显示拇指的问题。但是,当我删除 .9。从文件名中,然后我的拇指显示为黑色引导线

知道为什么或如何解决这个问题吗?

4

1 回答 1

2

九补丁PNG文件几乎专门用于小部件的背景,例如Button. 拇指可能没有被SeekBar绘制为背景。我本来希望你的九个补丁 PNG 仍然可以工作,但显然它没有。

标准SeekBar拇指图像不是九个补丁,因为它不需要像Button背景那样调整大小。因此,我会坚持使用针对不同状态的标准 PNG 文件,并从适当的StateListDrawable指向您的 PNG 文件中引用它们。

您可以在 中找到 stock drawables $SDK/platforms/$VERSION/data/res/$SDK您的 Android SDK 安装在您的开发机器上的任何位置,并且$VERSION是某种 API 级别。StateListDrawable作为实际拇指的标准SeekBar应该在 中drawable/,而其使用的 PNGStateListDrawable位于各种密度相关目录(例如,drawable-hdpi/)中,如seek_thumb_normal.pngseek_thumb_pressed.pngseek_thumb_selected.png.

于 2013-05-23T04:55:25.113 回答