Мои виджеты Spinner выглядят по-разному на разных устройствах. Как я могу определить собственный Spinner, который выглядит одинаково на всех телефонах? - PullRequest
0 голосов
/ 20 мая 2010

Я использую этот код для генерации счетчика в моем приложении:

    subCatAdapter = new ArrayAdapter<Subcategory>(this, android.R.layout.simple_spinner_item, subCategories);
    subCatAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

На моем устройстве (Motorola Milestone) и в эмуляторе это выглядит как стандартный виджет серого блесна. Один из моих коллег использует Motorola Backflip, а на его устройстве Spinner черный. Сейчас очень сложно читать шрифт в счетчике.

Что я должен сделать, чтобы использовать свой собственный вид для прядильщика? Я не против иметь серый спиннер на всех устройствах, но он всегда должен выглядеть одинаково на всех устройствах.

1 Ответ

1 голос
/ 20 мая 2010

Именно по этой причине я буду придерживаться Nexus One в качестве своего личного телефона (избегая «ценности», которую операторы и производители добавляют в свои телефоны).

В любом случае, вы можете пойти и скопировать ресурсы из SDK в свой собственный проект и использовать оттуда индикатор выполнения. Каталог находится здесь: \ android-sdk-windows \ platform \ android-2.1 \ data \ res. Вам также нужно будет скопировать рисованную анимацию, которая называется что-то вроде «progress_large.xml»:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/spinner_black_76"
    android:pivotX="50%"
    android:pivotY="50%"
    android:framesCount="12"
    android:frameDuration="100" />

Редактировать: Извините, только что понял, что вы имели в виду "спиннер", а не "индикатор выполнения вращения". Хотя идея та же: в одном каталоге есть «spinner_background.xml» и связанная графика.

...