2011年5月18日水曜日

Android Fragment について思うこと。



Fragment についての詳細(デザイン上の哲学とかもろもろ)は省きますが、端的に Fragment の何がありがたいかというと、

”画面サイズに応じて画面上の情報量を変えられる”

点です。

これまでのバージョンでも Android にはマルチスクリーン対応のための機能がありました。
layout-small, layout-normal, layout-large や layout-port, layout-land などで View の大きさを変えたり、配置を変えたりすることができました。しかし、画面上に表示される情報は同じだったわけです。画面が大きければ ListView のアイテムがたくさん見えるよ、っていうのは情報量が増えたわけではないです。だってスクロールすれば見れるでしょ。
つまり、画面上で”アクセスできる”情報量を変えられるということです。

タブレット用のデザインを layout-** で対応するのが難しい原因として、情報量を変えられないことが大きいです。画面が大きいなら、その分別の情報がみたいですよね。
さらに、タブレット(10インチ程度)くらいの大きさだと、ぱっとみて全体の情報を把握することはかなり難しいです。Galaxy Tab 10.1 の画面の大きさは Nexus S 4個分以上あります。一度に見れるのは半分くらいが限界のような気がします。

例えば、リストがタブレットの画面いっぱいになっていると、頭を左右に振らないと読めません。これはとても読みづらいです。そこで、リストを半分にすると残り半分が開いてしまいますよね。ここに別の情報を簡単に組み合わせられるのが Fragment の一番の機能です。

ここまで読んで気づいたひともいるかもしれませんが、これってタブレットとスマートフォンのレイアウトを同じアプリで対応するための機能なんですね。もしタブレットだけなら別の方法もあったはずです。つまり、最初からタブレットとスマートフォン両方に対応(= Ice-cream sandwich )するためのものだったってことなんでしょうね。

# Fragment の作り方とかは、いずれ別のエントリで。

0 件のコメント:

コメントを投稿