我试图更改android微调器弹出窗口。有什么方法可以改变它吗? 我的微调器对象像
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
答案 0 :(得分:0)
您必须编写一个扩展ArrayAdapter
的自定义适配器类。该适配器具有getView()
方法,您可以为微调器中的每个项目扩展自己的布局,从而更改微调器下拉项的外观。
看看this问题。
答案 1 :(得分:0)
这是一个简单的例子:
data = new ArrayList<HashMap<String, String>>();
spinner = (Spinner) findViewById(R.id.languagespinner);
String[] languages = { "English", "French", "Swahili", "Russian",
"Bahasa" };
int[] flags = { R.drawable.us, R.drawable.france, R.drawable.sa,
R.drawable.russia, R.drawable.timor_leste };
for(int i = 0; i < languages.length; i++){
HashMap<String, Object> dummy = new HashMap<String, Object>();
dummy.put("lang", languages[i]);
dummy.put("flag", flags[i]);
data.add(dummy);
}
String from[] = {"lang", "flag"};
int to[] = {R.id.lang, R.id.flag};
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.customspinner, from, to);
spinner.setAdapter(adapter);
我的自定义布局包含语言的标志和文本。如果您想提供更加个性化的外观和感觉,我建议您使用自定义适配器。 This就是一个很好的例子。