Android微调器布局

dev*_*oid 4 layout android spinner

我在微调器中设置了动态值.我正在使用以下代码.

spinner_generalbooks.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"}));
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我对旋转器的视图有问题.如果我们选择simple_spinner_item,它在正常状态下是正常的,但是当我们想要改变它时,行非常窄而不是CheckedTextView在普通的微调器选项中CheckedTextView.如果我们选择simple_spinner_dropdown_item,选项会随附CheckedTextView,但在正常状态下,它看起来与图片中的不同

(第一个是默认微调器,第二个是使用simple_spinner_dropdown_item).

第一个是默认微调器,第二个是<code> simple_spinner_dropdown_item </ code>

我想将spinner显示为默认的微调器.怎么做?

Min*_*ire 5

Android将采用适配器中指定的布局,并将其用于控件和项目,除非您单独指定view-resource.通过这种方法是在ArrayAdapter构造函数中将布局设置为simple_item,然后在调用setDropDownViewResource()时单独设置布局dropdown_item.

ArrayAdapter newAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"});

newAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner_generalbooks.setAdapter(newAdapter);
Run Code Online (Sandbox Code Playgroud)