| |
■Spinner 作成
Spinnerとはコンボボックスと似たような機能をします。
次はSpinnerを実行した結果です。
[ Spinner の実行結果]
1.次のようにEclipseから新しいプロジェクトを生成します。
2.res -> layout -> main.xmlファイルのソースコードを修正します。
<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> |
上のコードの中、太字の android:prompt は spinnerが実行され、選択する時に最上位部分に表示する文字列を指定します。 (次の画面を参照)
上の画面のように Choose a planet を出力する為には strings.xml を編集します。
3.res -> values -> string.xml を変更します。
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HelloSpinner!</string> <string name="app_name">HelloSpinner</string> <string name="planet_prompt">Choose a planet</string> </resources> |
上のコードで太字の部分を追加します。
4.Spinnerに表示される itemを定義するarray.xml を追加します。
res -> value フォルダでマウスを右クリックしてarray.xml を生成します。
( 次の画を参照 )
上の画で Otherを選択します。
上の画で XMLを選択します。
上の画で File name に arrays.xml を入力してFinishを押下します。
生成された arrays.xml を次のように変更します。
<?xml version="1.0" encoding="UTF-8"?> <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> |
5.src -> my.HelloSpinner -> HelloSpinner.java を次のように変更します。
package my.HelloSpinner; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Spinner; public class HelloSpinner extends Activity { /** Called when the activity is first created. */ @Override 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); } } |
6.Ctrl + F11 で実行します。
つぎは実行結果です。
[ spinner の初期状態 ]
[ Item が表示された状態 ]
実行後、 Spinner をクリックすると選択可能な item リストが表示され、その中から1項目が選択できます。