Android: уменьшите ширину выпадающего списка счетчика - PullRequest
5 голосов
/ 09 октября 2011

Я рассмотрел большинство вопросов по этой теме, и, похоже, нет однозначного ответа.У меня есть три счетчика в разных строках табличного представления.Используя атрибут веса, ячейки таблицы и, следовательно, счетчики и текстовые представления имеют одинаковую ширину.

Однако при нажатии на счетчик раскрывающийся список появляется на всю ширину и охватывает всю таблицу.Должен быть способ ограничения ширины списка.В конце концов он содержит только максимум 4 цифры.

Я видел заметку о R.attr.dropDownWidth, которая выглядит так, как будто это может помочь, но я понятия не имею, как реализовать этот метод,в одиночку, если он действительно будет работать.

Любая помощь по этому или другому методу, который ограничит ширину раскрывающегося списка до 100 провалов, будет очень полезна, особенно если включен пример кода.1008 * Спасибо,

Алан ...

1 Ответ

5 голосов
/ 09 октября 2011

Однако при нажатии на счетчик раскрывающийся список появляется на всю ширину и охватывает всю таблицу.

Это потому, что это действительно всплывающее диалоговое окно.

Должен быть способ ограничения ширины списка.

Это сложно, так как вы не тот, кто создает диалог. Я даже не понимаю, как вы могли бы добиться этого, расширив Spinner своим собственным подклассом, учитывая способ написания Spinner. Возможно, вам придется клонировать исходный код Spinner, переместить его в другой пакет (или имя класса) и изменить performClick(), чтобы изменить размер AlertDialog, используя методы, описанные в Как управлять шириной и высота диалогового окна оповещения по умолчанию в Android? .

И имейте в виду, что поведение Spinner значительно отличается в Honeycomb, и еще неизвестно, как оно выглядит на Ice Cream Sandwich. У нас нет исходного кода Honeycomb, поэтому мое решение «клон-класс» вызовет проблемы на новых устройствах.

Я видел заметку о R.attr.dropDownWidth, которая выглядит так, как будто она может помочь, но я понятия не имею, как реализовать этот метод, не говоря уже о том, действительно ли он будет работать.

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

...