スピナーとリストピッカーの比較

スピナーもリストピッカーもいくつかの要素の中から一つを選ぶことが出来るコンポーネントです。ここではスピナーとリストピッカーの違いを調べてみます。

[プロジェクト]メニューから[プロジェクトを新規作成]を選択し、”Spinner_ListPicker”と名前を付けます。

デザイン編集

ユーザインタフェースパレットから、 リストピッカーコンポーネントとスピナーコンポーネントをScreen1にドラッグアンドドロップします。レイアウトパレットから、 横並びコンポーネントを2個ドラッグアンドドロップし、その中にラベルコンポーネントを2個ドラッグアンドドロップして以下のように配置します。

リストピッカーコンポーネントとスピナーコンポーネントのプロパティで"文字列から要素を生成"に"AAA,BBB,CCC,DDD,EEE"を入力しましょう。選択要素は"CCC"にします。

リストピッカーコンポーネントとスピナーコンポーネントのプロパティはリストピッカーのボタン部分以外はほとんど同じです。

ブロック編集機能を使用したプログラミング

リストピッカーコンポーネントとスピナーコンポーネントで選択されている要素をラベルに表示します。まずはアプリ起動時に表示するように"いつもScreen1.初期化したら 実行する"ブロックで選択要素をラベルのテキストに設定します。選択要素を"CCC"にしているので"CCC"が表示されます。

リストピッカーコンポーネントで要素が選択された時に選択された要素が表示されるように"いつもリストピッカー1.値が戻ったら 実行する"ブロックで選択要素をラベルのテキストに設定します。

スピナーコンポーネントで要素が選択された時に選択された要素が表示されるように"いつもスピナー1.選択されたら 実行する"ブロックで選択要素をラベルのテキストに設定します。

スピナーにはイベントは"いつもスピナー1.選択されたら 実行する"しかなく、あとはプロパティの取得、設定だけです。

リストピッカーにはいろいろなイベントがありますが、"フォーカスされたら"と"フォーカスされなくなったら"は動いていません。他のイベントは動いています。

結論

機能的にはあまり差は無いのでデザインの好みで使い分ければ良いのでは無いでしょうか?リストピッカーはApp Inventor 2に固有のコンポーネントで、Androidにはありません。スピナーはAndroidにもあります。

 

チュートリアル