0

我需要自定义搜索栏。为此,我使用了一个layer-listXML 文件,然后将其设置为 seekbar 的背景。
对于@android:id/background我正在使用位图,对于secondaryProgressprogress,我正在使用形状。
这是 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">
        <bitmap
            android:src="@drawable/progressbar_bg"
            android:tileMode="repeat" />

    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#B2B2B2" />

                <corners android:radius="5dp" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#E00072" />

                <corners android:radius="5dp" />
            </shape>
        </clip>
    </item>

</layer-list>

以下是我声明 SeekBar 的方式:

<SeekBar
                android:id="@+id/seekBar1"
                android:thumb="@drawable/progressbar_thumb"                
                android:progressDrawable="@drawable/custom_seek_bar"
                android:background="@drawable/progressbar_bg"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/video_total_time"
                android:layout_toRightOf="@id/video_time_played" />

问题是 SeekBar 高度不会缩小到新高度,我希望它与背景图像的高度相等。相反,我看到一个充满空白的区域。

在此处输入图像描述

你知道空白是从哪里来的,以及如何摆脱它吗?

4

1 回答 1

0

该问题已通过对@android:id/background项目使用 9-patch 而不是位图来解决。

 <item android:id="@android:id/background">
        <nine-patch
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:dither="true"
            android:src="@drawable/progressbar_backg" />
 </item>
于 2012-07-27T13:02:46.727 回答