はじめまして。
開発担当の岸本です。
主に、 Android アプリの開発を行っています。
本ブログでは、 Android アプリ開発の記事が少なく、
なんと、カテゴリーに Android 開発がありません!!!すごく寂しいです。
なので、私が Android の記事を書いて、カテゴリーに追加して貰えるよう頑張ります。
では、本題です。
突然ですが、 Android アプリを使用する時に、
フォーカスを意識した事がありますでしょうか?
タブや EditText ではあるかもしれません。
ボタンはどうでしょうか?
そもそも、フォーカス状態のボタンを見た事がありますか?
実物は、こんな感じです。
(007SH でのスクリーンショットです。他の端末では異なる可能性があります。)
…あまり面白くはありませんね。
スマートフォンの主流は、タッチパネルなので、意識する事は少ないかと思います。
ですが、 SoftBank の 007SH や au の IS11SH などの
テンキー搭載のスマートフォンだとそうは行きません。
私は 007SH を使っているのですが、
よほどの事がない限り、タッチパネルは触りません。
テンキーのみでアプリを使用します。
他のユーザもそのような使い方をしているのではないでしょうか。
テンキー搭載のスマートフォンでは、以下の様な実装をしていると、
今どの View にフォーカスが当たっているのか分からず、
非常に使いにくいアプリだと感じてしまいます。
・Button に独自の背景色を指定したが、フォーカス時の指定がない
・リンクの様なクリック可能なテキストを実装したが、フォーカス時の指定がない
・クリック可能な画像を ImageView に指定して、 focusable に true を設定してない
・タブの背景色に選択中とフォーカス時に同じ背景色を指定している
これらの対応は一つ一つはそれほど時間がかからないものです。
文字色や背景色の指定には、通常、 <selector> を使用していると思いますので、
フォーカス時の文字色や背景色、画像を指定してあげるだけです。
ですが、動作確認にタッチパネルのみのスマートフォンばかりを使用していると、
つい忘れがちになってしまいます。
フォーカス時の指定がなくても、アプリとしては使用できますし、
現状では9割以上のユーザは全く困らないかと思います。
しかし、どんなに素晴らしいアプリでも、
残りのユーザにとっては使いにくいアプリになってしまいます。
すごく、もったいないと思いませんか?
Android アプリの開発を行っている方で、
もし、上記の様な実装に心当たりがある方は、一度見直してみては如何でしょうか。