バンドの実装

バンドといっても演奏するのではない。Band。
この場合「帯」と訳して良いと思うが、画面の上端か下端をアンカーとして一定の高さを持ち、その上に機能と関連づけられたユーザインタフェース(大抵はボタン)を配置するコンテナとして利用するGUIだ。

近いのはツールバーやパネルだが、敢えてそう呼ばないのは現在のコンテキストにおけるアクションと密接に結びついたUIにしたいのと、そのアクションの数やスタイルによって動的に見え方が(伸びたり縮んだり)変わるからだ。具体的には以前分類したアクションと対応づけたUIを配置したい。

[Android][SDK]データバインドの実装(2 イベントハンドラの分離)

今の所実装するバンドのスタイルとしては考えているのは二通りあって、一つはコンベンショナルなボタンがアクションの数分乗るものだ。アンカーは下端となる。

例) 機能ボタンが配置されたAndroidアクティベーション


この画面の"Emergency dial"ボタンと"change language"ボタンはそれぞれ内部でアクションと結びついており、タップにより処理が実行される。(その為のコードを書く必要が全くないように仕組みを作る必要がある)。

もう一つは少し複雑であり、アプリケーションに特徴的なアイコンを配したボタンを配置したり、データを表示した行をアンカーとして、その時のコンテキストで実行可能なアクションの一覧を表示してユーザに選択して貰うUIだ。

例) QuickActionで操作を選択する純正Twitterクライアント

この方法の利点は必要の無い時には何も表示しないので、画面の一定の領域を占有しないことだ。モバイル機器では画面の有効領域は非常に制限されており、多くの情報を表示するためにはそれ以外の情報は必要時以外は隠しておきたいのだ。

このQuickAction、標準のAndroid SDKには含まれておらずコーディングの必要があるが、既にいろいろな方々がまとめておりそれを参考にさせて頂くことで苦労せずに実装できそうだ。

How to Create QuickAction Dialog in Android - Lorenz's Blog
Android Quick Action の Android ライブラリプロジェクトを作ってみた - Y.A.M の 雑記帳