Android - проблема с пользовательским фоном Spinner - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь создать собственный фон для моего счетчика. Я скачал дизайн HTC Sense Spinner (см. Следующие рисунки) с форматом патча 9.

enter image description here enter image description here

Я создал новый XML-файл со следующим кодом внутри:

    <?xml version="1.0" encoding="utf-8"?>

    <selector xmlns:android="http://schemas.android.com/apk/res/android">

         <item
             android:state_focused="true" 
             android:state_pressed="false" 
             android:drawable="@drawable/spinner_pressed" />

        <item
            android:state_focused="true" 
            android:state_pressed="true"
            android:drawable="@drawable/spinner_pressed" />

        <item
            android:state_focused="false" 
            android:state_pressed="true"
            android:drawable="@drawable/spinner_pressed" />

        <item
            android:drawable="@drawable/spinner_normal" />

    </selector>

И я добавил в свой макет счетчик с этим кодом:

<Spinner
    android:id="@+id/my_spinner"
    android:layout_width="180dp"
    android:layout_height="50dp"
    android:layout_marginLeft="20dp"
    android:background="@drawable/custom_spinner" />

Но при правильном отображении я получил следующий формат:

enter image description here

Я что-то не так сделал?

Надеюсь, вы мне поможете.

Привет.

V.

1 Ответ

0 голосов
/ 03 апреля 2012

Растягиваемые области, определенные на вашем 9-патче, кажутся неправильными, и поэтому ваш 9-патч растягивается так.Взгляните на Nine-patch docs и обратите внимание, что левая граница определяет, какую область следует растянуть.Я думаю, что вы также должны определить растягиваемую область ниже «стрелки», если вы хотите, чтобы «стрелка» была центрирована.

Если вы не знаете, как редактировать 9-патч, вы должны использовать draw9patch включено в AndroidSDK/tools.

...