растягивающий значок счетчика

1

когда я использую свою собственную тему фона для spinner, она растягивает значок.

Изображение 174551

мой код счетчика:

<Spinner android:id="@+id/spinnerCategory" style="@style/spinner"
                    android:entries="@array/category_array" android:prompt="@string/category_prompt"
                    android:background="@drawable/spinner" />

my spinner.xml:

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

    <item android:state_window_focused="false" android:state_enabled="true"
        android:drawable="@drawable/btn_dropdown_normal" />

    <item android:state_pressed="true" android:drawable="@drawable/btn_dropdown_pressed" />
    <item android:state_focused="true" android:state_enabled="true"
        android:drawable="@drawable/btn_dropdown_selected" />
    <item android:state_enabled="true" android:drawable="@drawable/btn_dropdown_normal" />

</selector> 

и изображения, которые я скопировал из sdk 4.

так любезно помогите мне. как я могу прекратить растяжение иконок.

Теги:

2 ответа

1
Лучший ответ

У меня была та же самая пробка... я просто установил (жестко закодировал) высоту spinner 2 где-то около 48-50 dip...

  • 0
    я хочу layout_width = 100dip, это мое требование, как я могу это сделать?
  • 0
    Поместите атрибут android: layout_width = "100dip" в свой XML-код для счетчика.
Показать ещё 2 комментария
0

Вам нужно создать 9 патч-изображений, как в этом туто: http://stephenpengilley.blogspot.fr/2013/01/android-custom-spinner-tutorial.html

или создать динамический рисованный фон (dropdown_shape.xml), например:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <layer-list>
        <item
            android:bottom="6sp"
            android:top="6sp"
            >
            <shape
                android:thickness="0dp"
                android:shape="rectangle">
                <solid android:color="@android:color/white"/>
                <stroke android:width="1dip" android:color="#000000" />
                <corners android:radius="6sp"/>
            </shape>
        </item>
        <item
            android:gravity="center_vertical|right"
            android:right="18sp"
            >
            <vector
                android:height="12sp"
                android:width="16sp"
                android:viewportHeight="100"
                android:viewportWidth="100" >
                <group>
                    <path
                        android:strokeWidth="3"
                        android:strokeColor="#000000"
                        android:fillColor="#FF0000"
                        android:pathData="m 0,0 l 100,0 -50,100 z" />
                </group>
            </vector>
        </item>
    </layer-list>
</item>

и используйте его как:

<Spinner
     android:layout_width="wrap_content"
     android:layout_height="58dp"
     android:entries="@array/month_array"
     android:background="@drawable/dropdown_shape"
     android:paddingStart="12dp"
     android:paddingEnd="40dp"
     android:spinnerMode="dropdown" />

Ещё вопросы

Сообщество Overcoder
Наверх
Меню