Android раскрутка макета - PullRequest
       21

Android раскрутка макета

4 голосов
/ 21 декабря 2011

Я установил динамическое значение в счетчике. Я использую следующий код для того же.

spinner_generalbooks.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"}));

Работает нормально, но у меня проблема с видом на счетчик. Если мы выберем simple_spinner_item, это нормально в нормальном состоянии, но когда мы хотим изменить его, строки будут очень узкими, а не CheckedTextView, тогда как в нормальных опциях счетчика идет с CheckedTextView. Если мы выберем simple_spinner_dropdown_item, опции поставляются с CheckedTextView, но в нормальном состоянии они выглядят иначе, как на картинке

(Первый - спиннер по умолчанию, а второй использует simple_spinner_dropdown_item).

imagesimple_spinner_dropdown_item">

Я хочу показать спиннер точно так же, как и спиннер по умолчанию. Как это сделать?

Ответы [ 2 ]

5 голосов
/ 11 сентября 2012

Android возьмет макет, указанный в адаптере, и использует его для элемента управления и элементов, если вы не указали ресурс вида отдельно. Для этого нужно установить макет на simple_item в конструкторе ArrayAdapter, а затем установить макет dropdown_item отдельно при вызове setDropDownViewResource ().

ArrayAdapter newAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"});

newAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner_generalbooks.setAdapter(newAdapter);
1 голос
/ 21 декабря 2011

Если вы хотите настроить внешний вид вашего Spinner, вам будет проще создать свой собственный компонент.Спиннер - это просто макет, содержащий текст, изображение и отображающий список во всплывающем окне.Создайте собственный макет для вашего элемента и используйте новый объект BaseAdapter для привязки ваших данных.

http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/

надеюсь, что смогу помочь

...