我已经查看了有关此主题的大多数问题,似乎没有明确的答案。我在表视图的不同行中有三个微调器。使用weight属性,表格中的单元格以及旋转器和文本视图都具有相同的宽度。
但是,单击微调器时,下拉列表将以全宽显示并覆盖整个表。必须有一种限制列表宽度的方法。它只包含一个最多包含4位数的数字。
我在R.attr.dropDownWidth上看到了一个注释,它看起来好像有用,但我不知道如何实现这个方法,更不用说它实际上是否有用了。
对于将此下拉菜单的宽度限制为约100倍的此方法或其他方法的任何帮助都将非常受欢迎 - 特别是如果包含示例代码的话。
谢谢,
艾伦......
答案 0 :(得分:5)
但是,单击微调器时,下拉列表将以全宽显示并覆盖整个表。
那是因为它实际上是一个弹出式对话框。
必须有一种方法来限制列表的宽度。
这很难,因为您不是创建对话框的人。考虑到编写Spinner
的方式,我甚至不知道如何通过使用自己的子类扩展Spinner来实现这一目标。您可能必须克隆Spinner
源代码,将其移动到另一个包(或类名),并使用{performClick()
中列出的技术更改AlertDialog
以更改Spinner
的大小3}}
并且,请记住AutoCompleteTextView
在Honeycomb上的行为有很大不同,它在冰淇淋三明治上看起来还有待观察。我们没有Honeycomb源代码,因此我的克隆类解决方案会在新设备上给您带来问题。
我在R.attr.dropDownWidth上看到了一个注释,它看起来好像有用,但我不知道如何实现这个方法,更不用说它实际上是否有用了。
它不是方法,而是您可以在样式中设置的属性。但是,根据源代码,它似乎仅用于{{1}}的下拉列表。