2013年1月26日土曜日

NotificationのBigPictureStyleで表示されるbigPictureの大きさはいくつなんだ

4.1のJelly Bean以降でサポートされるようになった、リッチなNotificationスタイル。

このうちのBigPictureStyleで表示できるbigPicture(画像部分)の大きさにあわせて、元画像全体をリサイズして表示したいと思い、サイズを調べてみた。


・高さは192dp

Android Developersのサイトでは、高さの上限は最大256dpと書いてある。
Through an improved notification builder, apps can create notifications that use a larger area, up to 256 dp in height.

同じ内容がGoogle I/O 2012のセッション(32分40秒あたり)でも触れられている。そのスライドでは、BigContentView全体で、256dpが最大の高さと示してある。



つまり、256dpはbigPictureの高さではなく、BigPictureStyleのNotification全体での高さ上限だということ。よって、bigPictureの高さはNotificationを広げた256dp(4U)の状態から、Notificationを広げていない64dp(1U)の状態を引いた値になる。

256dp(4U) - 64dp(1U) = 192dp(3U)


・幅は450dp

幅は、同じく上記のGoogle I/O 2012のセッション(36分30秒あたり)で、最大450dpだとある。



まとめるとこんな感じ



・pxだとどのくらい?

例えば、Nexus 7はtvdpiなので、ピクセル密度(density)は1.33125。

450dp x 1.33125 = 約599px
192dp x 1.33125 = 約255px

bigPicture部分には、幅599px、高さ255px程度の大きさの画像が表示される。