0

我正在尝试使用内部的自定义搜索栏有数字刻度,但不起作用。此搜索栏必须支持所有屏幕分辨率。我怎么能这样。请提出您宝贵的意见。

我的 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>

取消选择.png

在此处输入图像描述

选择.png

在此处输入图像描述

myresult 屏幕像这样

在此处输入图像描述

我期待这样

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

1 回答 1

1

解决问题的方法有很多:

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

在此处输入图像描述(名称应该是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>

在此处输入图像描述

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

支持所有分辨率 - 提供不同分辨率的图像,如支持多个屏幕中所述。相同的图像不适用于所有分辨率,最好遵循上面链接中详细描述的最佳实践。

于 2013-09-23T04:58:44.117 回答