2011-10-09 11 views
5

He examinado la mayoría de las preguntas sobre este tema y no parece haber una respuesta definitiva. Tengo tres marcadores en diferentes filas de una vista de tabla. Con el atributo de ponderación, las celdas de la tabla y, en consecuencia, las viñetas y las vistas de texto tienen el mismo ancho.Android: reduzca el ancho del cuadro desplegable de un control numérico

Sin embargo, cuando se hace clic en una ruleta, la lista desplegable aparece con el ancho completo y cubre toda la tabla. Debe haber una forma de restringir el ancho de la lista. Solo tiene un número con un máximo de 4 dígitos después de todo.

He visto una nota en R.attr.dropDownWidth que parece ayudar, pero no tengo idea de cómo implementar este método, y menos aún si realmente funciona.

Cualquier ayuda sobre este u otro método que restrinja el ancho de la lista desplegable a aproximadamente 100 inmersión será muy apreciada, especialmente si se incluye código de muestra.

Gracias,

Alan ...

Respuesta

5

Sin embargo, cuando se hace clic en un control de giro, la lista desplegable aparece al ancho y cubre toda la tabla.

Eso es porque realmente es un cuadro de diálogo emergente.

Debe haber una manera de restringir el ancho de la lista.

Esto es difícil, ya que usted no es el que está creando el cuadro de diálogo. Ni siquiera veo cómo podrías lograr esto al extender Spinner con tu propia subclase, dado el modo en que se escribe Spinner. Es posible que deba clonar el código fuente Spinner, moverlo a otro paquete (o nombre de clase) y modificar performClick() para cambiar el tamaño del AlertDialog utilizando las técnicas descritas en How to control the width and height of the default Alert Dialog in Android?.

Y, tenga en cuenta que el comportamiento de Spinner es significativamente diferente en Honeycomb, y aún no se ha visto cómo se ve en Ice Cream Sandwich. No tenemos el código fuente de Honeycomb, por lo que mi solución de clonación le dará problemas en los dispositivos más nuevos.

He visto una nota en R.attr.dropDownWidth que parece ayudar, pero no tengo idea de cómo implementar este método, y mucho menos si realmente funciona.

No es un método, sino más bien un atributo que puede establecer en un estilo. Sin embargo, según el código fuente, parece que esto solo se usa para el menú desplegable AutoCompleteTextView.

+0

Hola CommonsWare, Sí, he llegado a la misma conclusión y voy a dejar las cosas como están. Como dices, esta situación puede ser diferente en las versiones posteriores, pero, al menos por ahora, necesito permanecer compatible con versiones anteriores. Gracias de cualquier manera. Alan ... –

+0

Al haber subido a un dispositivo diferente, noto que los elementos del girador y la lista son bastante difíciles de seleccionar. Había establecido textview en la fila xml como 'wrap-content' y significaba que, si solo había 1 o 2 caracteres en la TV, tenía que presionar uno de ellos para seleccionar la fila. Al cambiar a 'fill_parent', la televisión se extiende a lo largo de la fila y facilita la selección. Pensé que esto podría ayudar a otros. Mis mejores deseos, Alan ... –

Cuestiones relacionadas