Seekbar progressDrawable在某些设备中被抵消(主要在平板电脑中观察到)

时间:2018-01-26 08:42:19

标签: android seekbar

我有一个AppCompatSeekBar,其progressDrawable并且他们在内部使用9个补丁图片,用于搜索栏的填充和非填充部分。在大多数手机中,一切似乎都能正常工作。但是当涉及到很少的平板电脑时,寻道轨道向顶部偏移。

以下是手机中搜索栏的屏幕截图,其行为与其应有的完全相同:

enter image description here

这是一个10英寸的平板电脑:

As you can see the progress is offset towards the top

您可以观察progressDrawable或者搜索偏移到顶部。

关于我的代码,这是在我的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个补丁图片。我很无能为力,因为它在少数设备上工作,而不是在某些平板电脑上工作。

1 个答案:

答案 0 :(得分:0)

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

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