我使用微调器小部件选择了一些项目。目前微调器将加载一个简单的 Textview 并显示项目的名称。
是否可以定义自己的视图以显示在微调器行内?我怀疑它类似于自定义列表行。
我只想为列表中的每个项目显示微调器文本左侧的单个图标。
是的,您可以这样做——您可能知道,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
您使用的子类。
是的,这很容易。
主要的是,将 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>