我的Spinner大小太大了

5

我的巨型旋转器: http://i.stack.imgur.com/zNxdX.jpg

从图片中可以看出,我的旋转器太大了。我似乎找不到问题所在。 以下是代码:

    RelativeLayout.LayoutParams lpSpinner = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    spTest = new Spinner(this);
    String[] spinnerArray={"1","2","3","4","5","6","7","8","9","10"};
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, spinnerArray);
    spTest.setAdapter(spinnerArrayAdapter);
    spTest.setId(4);
    lpSpinner.addRule(RelativeLayout.ALIGN_RIGHT, lblText.getId());
    relative.addView(spTest, lpSpinner);

我做错了什么?
2个回答

20

你的旋转器看起来是这样的,因为在创建ArrayAdapter时使用了错误的布局。将其更改为以下布局:

... = new ArrayAdapter<String>(this, 
                               android.R.layout.simple_spinner_item, 
                               spinnerArray);

在下拉模式下,android.R.layout.simple_dropdown_item_1line 布局用于 Spinner 子项。你需要传递 android.R.layout.simple_spinner_item 布局才能使 Spinner 正常显示。

如果你想为下拉视图更改布局,则可以使用 Adapter 类的 setDropDownViewResource() 方法进行设置。


2

将下拉列表项的文本缩小,下拉列表框就会变得更小。如果您使用非常大的文本作为选项,那么下拉列表框需要变得很大才能显示所选的项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接