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>

Unselected.png

ここに画像の説明を入力

select.png

ここに画像の説明を入力

このようなmyresult画面

ここに画像の説明を入力

こんな感じで期待してます

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

1

問題の解決策にはいくつかあります:

  • backgorund には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 に答える