2012年04月23日

Spinnerをカスタムする


前回は基本的なSpinnerを作成しました
スピナーを作成する
今回は前回作成したものをベースにカスタムしていこうと思います
まずは
setDropDownViewResource
を追加してレイアウトを変更してみます
一応前回の復習もかねてソース全体を載せます
MainActivity.java
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.Toast;
 
public class MainActivity extends Activity {
    private String[] mStrings = { "test1", "test2", "test3", "test4" };
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//リニアレイアウトを配置
		 LinearLayout layout = new LinearLayout(this);
		 layout.setOrientation(LinearLayout.VERTICAL);
		 setContentView(layout);
		 //リニアレイアウトにスピナーを追加
		 Spinner spinner = new Spinner(this);
		 layout.addView(spinner);
		 ArrayAdapter adapter = new ArrayAdapter(this,
		 android.R.layout.simple_spinner_item, mStrings);
		 spinner.setAdapter(adapter);
		 
		 //スピナーのレイアウト変更
		 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		 spinner.setSelection(1);
		
		 //スピナーのクリックイベントを取得する
		 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
			//Itemが選択された時
			public void onItemSelected(AdapterView parent,
				View view, int position, long id) {
				//parentのspinnerを指定
				Spinner spinner = (Spinner) parent;
				//選択されたitemを取得
			    String item = (String) spinner.getSelectedItem();
			    //Toast表示
			    Toast.makeText(MainActivity.this,
			            String.format("%sが選択されました。", item),
			            Toast.LENGTH_SHORT).show();
            }
			//何も選択されなかったとき
            public void onNothingSelected(AdapterView parent) {
                Toast.makeText(MainActivity.this,
                        "何も選択されませんでした", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
これを実行すると以下のようにスピナーのレイアウトが変更されます
device90.png

ちなみにspinner.setSelection(1)の部分はスピナーの初期値(+1)を変更するものです
今回は“1”なためtest2が初期値になっています(0のとき項目1が選択されている)


次にspinner.setPromptを追加してみます
これはSpinnerの題名を表示させるものです
追加部分を以下のように変更してみます
		 //スピナーのレイアウト変更
		 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		 spinner.setSelection(2);
		 spinner.setPrompt("test一覧");
これを実行してみると・・・
device91.png
表題が表示されるようになりました
スポンサードリンク

【ウィジェット スピナーの最新記事】
posted by kenken at 16:41 | Comment(0) | TrackBack(0) | ウィジェット スピナー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/266297034
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。