Android搜索栏风格

时间:2013-10-06 11:27:29

标签: android seekbar android-styles

我正在尝试为我的Android应用程序创建自定义搜索栏。我发现了许多解决方案,但所有解决方案都使用“自定义”绘图代码作为背景。我的搜索栏很简单 - 我有一个背景图像(只有一个)和拇指图像。我的问题是缩放:我希望“拇指”和“背景”图像都根据搜索条控件的大小进行缩放。怎么做? 有趣的是,当使用图像(drawables)作为背景/拇指时Android不会默认缩放它们但是保留原始尺寸:)

2 个答案:

答案 0 :(得分:7)

您可以制作拇指的前景,背景和滑块。

这是一个很好的教程:

Tutorial

这也没关系:

Tutorial 2

以下是制作自定义9.png图像的方法:

nine-patch

答案 1 :(得分:2)

1您可以使用xml( progress.xml )来定义ProgressBar&amp ;;的外观。将它放在res目录中。

2可以在声明ProgressBar的布局中定义拇指。

3拇指可以是图像( imgthumb.png ),但我注意到 2个最佳做法

  1. 最佳拇指高度 2.5倍 ProgressBar 高度
  2. 高度&时,最佳渲染拇指图像的宽度与拇指的直径完全相同(即对于圆形拇指)&最后,将不同尺寸的拇指放在每个桶中,以获得不同的像素密度
  3. 以下是来源

    1 progress.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">
        <shape android:shape="rectangle" >
            <corners android:radius="5dp" />
    
            <gradient
                android:angle="270"
                android:endColor="#cccccc"
                android:startColor="#d3d3d3" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape android:shape="rectangle" >
                <corners android:radius="0dp" />
    
                <gradient
                    android:angle="270"
                    android:endColor="#ff0000"
                    android:startColor="#ff0000" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape android:shape="rectangle" >
                <corners android:radius="5dp" />
    
                <gradient
                    android:angle="270"
                    android:endColor="#1dc0ff"
                    android:startColor="#1dc0ff" />
            </shape>
        </clip>
    </item>
    

    2使用自定义拇指

    在布局中定义Seekbar
    <SeekBar
            android:id="@+id/song_seekbar"
            android:layout_width="0dp"
            android:layout_weight=".84"
    
            android:minHeight="8dip"
            android:maxHeight="8dip"
    
            android:layout_height="wrap_content"
    
            android:layout_centerVertical="true"
            android:layout_centerInParent="true"
    
            android:progressDrawable="@drawable/progressbar"
            android:thumb="@drawable/imgthumb" />
    

    希望这能帮到你!