如何在android seekbar中添加数字刻度?

时间:2013-09-21 05:51:44

标签: android seekbar android-seekbar

我正在尝试使用里面的自定义搜索栏有数字刻度,但是无法正常工作。此搜索栏必须支持所有屏幕分辨率。我怎么能这样做。请提出宝贵的意见。

我的custom_seekbar.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/unselect"/>
<item
    android:id="@android:id/secondaryProgress"
    android:drawable="@drawable/select">
</item>
<item
    android:id="@android:id/progress"
    android:drawable="@drawable/select">
</item>

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/default_screen_bg"
android:orientation="vertical"
tools:context=".MainActivity" >



<SeekBar
    android:id="@+id/seekBar1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:indeterminate="false"
    android:max="10"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:progressDrawable="@drawable/custom_seekbar" />

 </LinearLayout>

Unselesct.png

enter image description here

select.png

enter image description here

像这样的myresult屏幕

enter image description here

我期待这样

enter image description here enter image description here enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

解决问题的方法有很多:

  • 使用9patch图片作为backgorund(基本上应该用作搜索栏的背景)。如下所示:

enter image description here(名称应为unselect_patch.9.png)并略微修改custom_seekbar.xml,如下所示:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/unselect_patch"/>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
                android:src="@drawable/select"
                android:tileMode="disabled" />
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
                android:src="@drawable/select"
                android:tileMode="disabled" />
        </clip>
    </item>

</layer-list>

enter image description here

  • 只需在布局中提供图片的确切尺寸(例如layout_width="@dimen/select_image_width");

支持所有分辨率 - 提供不同分辨率的图像,如Supporting Multiple Screens中所述。相同的图像对于所有分辨率都不会正常工作,这里最好只遵循上面链接中详细描述的最佳实践。