Android Marshmallow - 自定义搜索栏进度条未显示

时间:2016-02-08 15:20:05

标签: android android-styles android-seekbar

我正在尝试像这样自定义搜索栏:

Custom seek bar

在API级别< 23,即使seekbar的进度等于0,进度线也是可见的。但是在API级别= 23时,我有一个奇怪的问题:进度线没有显示在相同的条件下= /我想看到这一行,因为它是澄清边界的使用我的搜索栏。

我的seek_bar_progress_bar.xml

<?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/seek_bar_track" />
    <item android:id="@android:id/secondaryProgress">
        <scale
            android:drawable="@drawable/seek_bar_track"
            android:scaleWidth="100%" />
    </item>
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/seek_bar_track"
            android:scaleWidth="100%" />
    </item>
</layer-list>

我的style.xml

<style name="seek_bar_style" parent="android:Widget.Holo.Light.SeekBar">
    <item name="android:progressDrawable">@drawable/seek_bar_progress_bar</item>
    <item name="android:indeterminateDrawable">@drawable/seek_bar_progress_bar</item>
    <item name="android:thumb">@drawable/seek_bar_thumb_selector</item>
</style>

提前致谢!

1 个答案:

答案 0 :(得分:3)

好吧,我真的不知道,为什么我的进度条线不会在Android 6设备上显示,如果我的seek_bar_track的drawable是简单的 .png 图像。但是,当我将此格式更改为 .9.png (使用SDK工具 draw9patch )时,它可以正常工作。

摘要 - 我将我的.png图片for seek_bar_track转换为.9.png格式,这帮助我解决了我的问题。