我可以使用微调器小部件选择一些项目。微调器将加载一个简单的Textview并显示该项目的名称 可以定义一个自己的视图来显示微调器行内部吗?我怀疑它类似于自定义列行。
我只想在列表中的每个项目的微调器文本中显示一个单独的图标。
答案 0 :(得分:3)
是的,您可以这样做 - 您可能知道,Spinner
是一种AdapterView
,这意味着您可以调整自己的数据以便在View
中显示。< / p>
该方法与ListView
的方法非常相似。
摘自ApiDemos:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, INTERPOLATORS);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
您可以定义自己的布局并将其传递给您使用的SpinnerAdapter
子类。
答案 1 :(得分:1)
是的,这很容易。
主要的是,将TextView定义为布局文件中的根元素。
请按以下步骤操作:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, INTERPOLATORS);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
simple_spinner_dropdown_item.xml
档案:
<?xml version="1.0" encoding="utf-8"?>
<TextView>
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50px"
android:textColor="#000000"
android:textSize="20px"
android:gravity="center_vertical" >
</TextView>