memo:WallpaperManagerで、壁紙設定

壁紙の設定を行うためにWallpaperManagerというクラスがあります。

※あんまり使えない。と言う結論に達します。

 

基本的にはまずインスタンスを作成

WallpaperManager wpManager = WallpaperManager.getInstance(this);

そして次には、このマネージャーに、リソースから画像をセットします。

そして、drawableフォルダの中から画像を設定する。(imgは画像の名前)

wpManager.setResource(R.drawable.img);

ですが、画像がでかい。。もしくは小さい。。

と言う状態になってしまいました。

 

サイズに合わせた画像を用意するのは、ちょっときついので(何機種用??・・・)なので、サイズを変形できるのだろうか。

wpManager.setBitmap(_newbmp);

上記の方法で、ビットマップの貼り付けができるようなので、bitmapなら変形ができると思い用意してみます。

Bitmap _bmp = BitmapFactory.decodeResource(getResources(),R.drawable.sample);

サイズ変換自体は

Bitmap _newbmp = Bitmap.createScaledBitmap(_bmp, _setWidth, _setHeight, true);

上記の形式で、変換ができました。_setWidthとか_setHeightで。

 

肝心の壁紙のサイズですが、

wpManager.getDesiredMinimumHeight();
wpManager.getDesiredMinimumWidth();

で、取得ができるらしいのですが。これで取得できるサイズは横長のサイズのようです。

 

で、ここで、戸惑ってしまったのですが、

galaxy s はこの値が0である。と言うバグがあるようです。

僕の端末では、この大きさに設定したものは何も表示がされなかったので調べたら、0でした。

 

更に調べると、この値はホームに設定しているアプリによって変わるようです。

launcher proと言うアプリを設定していると値が取得できました。

 

android2.3にアップデートしたgalaxyでは、縦長のサイズの画像も使えたはずでしたが、そのサイズの画像を設定してしまうと、launcher pro(ホームアプリ)が縦長に対応してくれないようで変なサイズの画像が出てしまいました。

 

このWallpaperManagerを利用する場合には、

1、横長のサイズの画像を用意する。

2、galaxy s(S2はわからないです。)だけは機種判別をして、サイズを指定する。

と言う、感じです。

 

個人的に縦長の壁紙を設定したかったので、ちょっとライブ壁紙を勉強してみます。。

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑