1

我使用微调器小部件选择了一些项目。目前微调器将加载一个简单的 Textview 并显示项目的名称。
是否可以定义自己的视图以显示在微调器行内?我怀疑它类似于自定义列表行。

我只想为列表中的每个项目显示微调器文本左侧的单个图标。

4

2 回答 2

3

是的,您可以这样做——您可能知道,Spinner它是 的一种AdapterView,这意味着您可以调整自己的数据以显示在这种View.

该方法与带有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您使用的子类。

于 2010-03-16T10:41:34.367 回答
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>
于 2011-03-25T11:52:59.757 回答