自定义SeekBar中progress无法覆盖background区域 解决方案

项目需求,自定义SeekBar实现拖动选择所需数值:
展示效果如图:
自定义SeekBar中progress无法覆盖background区域 解决方案_第1张图片
由于项目要求seekbar的背景backgroud和进度条progress都是自定义的图片,图片在适配和拉伸的过程中会存在变形,更重要的是在适配的时候会出现问题,项目需求在不同的设备上7寸  10寸 Pad 和5寸手机上进行适配,所以选择使用了.9.png的图片,这样就可以很好的解决了图片拉伸变形的问题。但是,在调试过程中发现SeekBar中progress无法覆盖background区域,要嘛就是只显示淡黄色部分,要嘛就只显示灰色部分,搞的很郁闷,查找问题原因后,发现原来是因为使用了.9.png格式图片的原因,之后更改进度条样式:
<clip>
            <nine-patch android:src="@drawable/seekbar_progress_bg_new" />
        </clip>
具体见如下代码:




			<SeekBar
                            android:id="@+id/seekbar_aim_first_yaofang"
                            style="@style/aim_seekbar_style"
                            android:max="300" />

<style name="aim_seekbar_style">
        <item name="android:layout_width">@dimen/aim_seekbar_width</item>
        <item name="android:layout_height">30dp</item>
        <item name="android:maxHeight">25dp</item>
        <item name="android:minHeight">25dp</item>
        <item name="android:paddingLeft">8dip</item>
        <item name="android:paddingRight">8dip</item>
        <item name="android:progress">0</item>
        <item name="android:progressDrawable">@drawable/seekbar_style_new</item>
        <item name="android:thumb">@drawable/seekbar_thumb</item>
    </style>


自定义的Drawable     seebar_style_new


<?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/seekbar_bg_new">
    </item>
    <!-- 第二进度条式样 -->
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/seekbar_bg_new">
    </item>

    <!-- 进度条式样 -->
    <item android:id="@android:id/progress">
        <clip>
            <nine-patch android:src="@drawable/seekbar_progress_bg_new" />
        </clip>
    </item>

</layer-list>


你可能感兴趣的:(android,seekbar,自)