連載
» 2009年03月06日 00時00分 公開

簡単でワクワクするAndroidウィジェット10連発!Androidで動く携帯Javaアプリ作成入門(4)(2/3 ページ)

[緒方聡,株式会社イーフロー]

【2】入力の要、エディットテキストやスピナー

 ユーザーからの入力を受け付ける最も簡単なウィジェットはEditTextです。

クラス 概要
EditText 通常のエディットテキスト
AutoCompleteTextView 候補の中から自動補完されるエディットテキスト
MultipleAutoCompleteTextView 候補の中から自動補完されるエディットテキスト(複数選択が可能)
表2 EditTextウィジェット(代表的なもの)

 AutoCompleteTextViewなどは、とてもケータイとは思えないリッチなウィジェットです。

自動補完テキスト 自動補完テキスト

 上図は、あらかじめプログラミング言語がいくつか登録されている状態のAutoCompleteTextViewに「Jav」と入力したところです。このウィジェットはあらゆるシーンで便利に使えそうです。

【3】2種類の時計

 Androidにはアナログ時計とデジタル時計が用意されています。

アナログ時計 アナログ時計

 デモでは、デフォルトの設定で表示させていますが、アナログ時計は、短針や長針、背景などをLayout Editor上から変更することで、カスタマイズが可能です。デジタル時計も背景、フォントなどをLayout Editor上から変更してカスタマイズできます。

 作成したいアプリのスタイルに応じて使い分けてみてください。

【4】長い処理を行う際のプログレスバー

 何か長い処理を実行する場合、現在処理実行中であることをユーザーに通知した方がよく、そうしたケースではしばしばプログレスバーが用いられます。

プログレスバー プログレスバー

 上記は大きな画像を読み込んでいる、というつもりのプログレスバーです。すべての画像を読み込むと(実際には1つしか読み込まない)、プログレスバーは表示されなくなり、代わりに画像が表示されます。

 時間のかかる処理は、それ専用のスレッドを作成して処理を行っています。このスレッドから直接ウィジェットを操作することはできません。そのための仕組みであるHandlerを使用して、ウィジェットに対してコールバックから操作を行うようにしています。

 なお、この画面では、可視性を操作していますので、可視性についても説明しておきます。最初に画像を表示させるImageViewは非表示になっていますが、プログレスが100%になったタイミングでTextViewとProgressBarを非表示にして、ImageViewを表示させています。

 Androidでは、可視性がtureやfalseだけではなく、以下のように設定できます。

可視性 概要
visible 表示されている状態。デフォルト
invisible 表示されていないが、領域は確保されている状態
gone 表示も領域の確保もされていない状態
表3 Viewの可視性

【5】日付と時刻を選択させたい

 日付や時刻をユーザーに選択させるには、DatePickerDialog、TimePickerDialogを使用すると簡単です。

日付選択 日付選択

【6】クロノメーターで時間計測

 スタート、ストップ、フォーマットの設定が可能な経過時間を表示するウィジェットです。フォーマットは時刻部分以外が自由に設定可能です。時刻は「MM:SS」または「H:MM:SS」のどちらかの指定です。

クロノメーター クロノメーター

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。