Seekbar progressDrawable 在某些设备中偏移(主要在平板电脑中观察到)

Seekbar progressDrawable is offset in some of the devices (mostly observed in tablets)

我有一个 AppCompatSeekBar,它有一个 progressDrawable,他们在搜索栏的填充和非填充部分内部使用 9 - 补丁图像。在大多数 phone 中,一切似乎都运行良好。但是当涉及到少数平板电脑时,搜索轨道会向顶部偏移。

以下是 phone 中搜索栏的屏幕截图,它的行为与应有的完全一样:

这是 10 英寸的平板电脑:

可以观察progressDrawable或者seek偏移到顶部

关于我的代码,这是在我的 xml 中:

<android.support.v7.widget.AppCompatSeekBar
      android:id="@+id/sbAudioSeek"
      fontPath="fonts/Roboto-Light.ttf"
      android:layout_width="@dimen/seek_width"
      android:layout_height="wrap_content"
      android:layout_marginRight="10dp"              
      android:background="@android:color/transparent"
      android:max="255"
      android:paddingRight="3dp"
      android:progress="0"                               
      android:progressDrawable=
              "@drawable/seekbar_track_progress_notifier"
      android:splitTrack="false"                
      android:thumb="@drawable/icon_thumb_notifier" />

现在这是我的 seekbar_track_progress_notifier.xml 这是我的 progressDrawable:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/icon_track" />

    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/seek_track_selected"
            android:scaleWidth="100%" />
    </item>
</layer-list>

这里 seek_track_selectedicon_track 是我用于搜索栏的 9 个补丁图像。我一无所知,因为它只能在少数设备上运行,而不能在某些平板电脑上运行。

如您所述,seek_track_selected 是 9 补丁 png。 我不确定您的所有 png 文件是否都已正确修补。 我的建议是,交叉检查它工作的设备和不工作的设备的显示密度是多少。然后将这些补丁标记与特定文件进行比较。也许你错过了修补顶部一个 dpi 特定的 png。

不确定,这是一个疯狂的猜测。 ;-)