ようやくAndroid OSの4.3が発表されました。4.0系ではこれが最後だそうですが、細かな部分が改良されていますね。特にUIデザイナーに関係するのは、Viewのレイアウトに「Optical Bound Layout Mode」というのが追加されたことかと思います。Androidの開発ページの解説は無茶苦茶わかりにくいので改めてメリットを解説してみます。

今まで9パッチを使ったボタンやテキスト入力フィールドをレイアウトする場合、上下や横の他の要素と幅を揃えるのが大変面倒でした。9パッチグラフィックの横幅がボタン幅と同じであればいいのですが、周りに光彩が付いていたり、ドロップシャドウがあると、その部分までがグラフィック幅なので、下のようにテキスト幅と実際のボタン幅を揃えることが面倒だったのです。

optical-layout-before

簡単に言うと「Optical Bound Layout」というのは上の図でドロップシャドウの描かれた領域をレイアウトから除外する指定を9パッチに描くことで、こうしたグラフィックと他の要素を揃えるのを簡単にしようというものです。実際に「Optical Bound Layout」と、それ用の指定のついた9パッチグラフィックを用意すると下のような見え方になります。

optical-layout-after

これにより、今まで大変面倒だったドロップシャドウのついたボタン下のマージン計算なども簡単になりますね。まあフラットデザイン全盛になってしまえばいらなくなってしまうかも知れませんが…。9パッチグラフィックの指定は従前の拡張領域、コンテンツ領域の指定とは別に、この除外領域の指定を付加することになります。同じく外周1ピクセルで下のような位置にRGB=255,0,0で指定したい幅分の線を引きます。

optical-9patch

4.3の標準Drawbleの内、ボタンやテキストエントリーなどはすでにこのOptical Bound Layout対応になっていますから、それらの部品を使う際にはすぐにこのレイアウトを試すことができます。4.3が普及するのはまだ先ですがこれで少しレイアウトが楽になるかもしれません。