我如何pipe理android微调项目的高度?

我有一个使用ArrayAdapter填充string列表的Android微调控制器,它运行良好,但是因为微调控制器的显示方式,我遇到了列表项的显示高度问题。

乍一看,似乎ArrayAdapter可以使用一个单一的布局显示选项,导致我遇到的问题。 当在微调器中显示当前项目时(当用户没有从列表中select新项目时),微调器填充文本,使得微调器是合理大小的点击。 然而,当用户点击它,并提出列表来select一个新的项目,列出的项目呈现方式小高度明智。 如果我使用一个项目布局,在合理的高度上显示列表项目,那么由于列表项目自身的填充,微调器本身变得过于庞大。

关于如何pipe理这两个项目显示模式的高度的任何想法,以便有效地显示相同的高度值而不是微调器高度大于列表项目显示高度?

Solutions Collecting From Web of "我如何pipe理android微调项目的高度?"

前一段时间我遇到了这个问题,事实certificate,我需要使用不同的布局下拉和显示

我有这个代码:

adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cGroups, new String[] { "name", "_id" }, new int[] { android.R.id.text1 }); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

是的,上面的答案是正确的。

我花了很长时间才find这个,因为2.2版本的sdk样本是错误的。 我很难接受这一点。

这里是samples / android-12 / Spinner / src / com / android / example / spinner / SpinnerActivity.java的一个片段:

        this.mAdapter = ArrayAdapter.createFromResource(this,R.array.Planets,
                 android.R.layout.simple_spinner_dropdown_item);

而它应该有android.R.layout.simple_spinner_item ,而simple_spinner_dropdown_item只能用于下拉项目。 否则,微调箭头会被拉伸,并将下拉select圆圈画到显示器上。