我有一些使用微調控件的項目。此時,微調器將加載一個簡單的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應用中一樣? –