大家好,我們這一節講一下Android下的下拉式功能表Spinner,就像是Swing的Combobox,html的<select>,由於手機畫面有限,要在有限的範圍選取項目,下拉式功能表是比較好的選擇.
Android提供的Spinner Widget的下拉式功能表已經非常好用了,樣式也還適用.但我們本節的Demo的重點在於自訂下拉式功能表裡的樣式,其關鍵在於調用setDropDownViewResource方法,以XML的方式定義下拉式功能表要顯示的模樣.
Step 1:
建立一個新的Android
工程,
我們命名為SpinnerDemo
.
Step 2
:開啟layout
檔案夾,找到main.xml
將其內容改為:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Please select a planet:"
/>
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:prompt="@string/planet_prompt"
/>
</LinearLayout>
注意:
the Spinner's android:prompt
is a string resource. In this case, Android does not allow it to be a string, it must
be a reference to a resource. So...
Step 3
:找到在res/values/string.xml,
在裡面加入如下(黑體
)一行:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, SpinnerDemo!</string>
<string name="app_name">SpinnerDemo</string>
<string name="planet_prompt">Choose a planet</string>
</resources>
Step 4
:在res/values/
檔案夾下建立一個xml
檔案,命名為arrays.xml:
<resources>
<string-array name="planets">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>
這是使用者可以從Spinner Widget選擇list 的選擇項.
Step5
:開啟SpinnerDemo.java
,編輯內容如下:
package com.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class SpinnerDemo
extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner s = (Spinner) findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.planets, android.R.layout.simple_spinner_item)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter);
}
}
step 6:
最後run it
(運行之)效果如下:
搞定,讓大家 久等了,終於把日語搞定了..Android,英語,我來了!!!!