我有一些使用微调控件的项目。此时,微调器将加载一个简单的Textview并显示该项目的名称。
可以定义一个自己的视图来显示在微调器行内?我会怀疑它与自定义列表行相似。如何在Spinner Widget而不是文本视图中显示自己的视图?
我只是想显示列表中每个项目的微调文本留下的个别图标。
我有一些使用微调控件的项目。此时,微调器将加载一个简单的Textview并显示该项目的名称。
可以定义一个自己的视图来显示在微调器行内?我会怀疑它与自定义列表行相似。如何在Spinner Widget而不是文本视图中显示自己的视图?
我只是想显示列表中每个项目的微调文本留下的个别图标。
是的,您可以这么做 - 正如您所知,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>
,如果你想在你的微调多个TextViews什么?就像Google在Gmail应用中一样? –