我的Spinner的大小太大了

时间:2011-02-16 12:07:33

标签: java android

我的巨大锭床工人: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 个答案:

答案 0 :(得分:19)

您的微调器看起来像这样,因为您在创建ArrayAdapter时使用了错误的布局。将其更改为:

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

android.R.layout.simple_dropdown_item_1line布局用于下拉模式中微调器的项目。您必须改为传递android.R.layout.simple_spinner_item布局。然后旋转器应该看起来正常。

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

答案 1 :(得分:2)

使微调器项的文本变小,并且微调器将变小。如果对项目使用非常大的文本,则微调器需要很大才能显示所选项目。