増子良太のブログです

増子良太が書いているブログです。テーマをしぼらず、思いついたものをただひたすら書いていきます。

Androidでライブ壁紙を作る時に気をつけること

      2013/06/28

おはようございます。rmascoです。

今日はAndroidでライブ壁紙という、動く壁紙を作る時につまずいた点があったので、
書き留めておきたいと思います。

さて、簡単に今回アプリの仕様を。
指定された時間ごとにサーバに画像を取りにいって、
取得した画像を背景に入れるというものです。

簡単に言ってしまえば、美人時計のようなものです。

りくどけい

今はきっちり画面に収まりますが、最初は画像の上が切れてしまっていました。
そこで、canvasのdrawBitmapの際に、topを100にしてみました。

canvas.drawBitmap(bitmap, 0, statusBarHeight, null);

そうすると少し上に余白ができて表示されました。
canvasはステータスバーの高さを加味してくれない。。。

というわけで、canvasにステータスバーの高さ分を余白として設定してやる必要があります。
さらにさらに。

なんとこのステータスバーは、機種(解像度)によって、大きさが変わってしまうということみたいです。
どうにかして取得できないかと探していると、こんな記事を見つけました。

ステータスバーのサイズを取得したい!: 迂闊な備忘録
StatusBarの高さを取得する | Android Wiki for Developers

これでステータスバーの高さがわかるので、それをdrawBitmapにセットしてやればOK。
わかっていれば確かにって思うけど、、、

お悩みの皆様の参考になれば。。。

 - Android