素人のアンドロイドアプリ開発日記

memo:WallpaperManagerで、壁紙設定

2011.09.09

壁紙の設定を行うために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はわからないです。)だけは機種判別をして、サイズを指定する。

と言う、感じです。

 

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

同じカテゴリの記事を紹介します

流れる背景を作るステータスバーの色を好きな色にするカメラの権限の取得をするpush通知の実装を確認をする為に、phpを書くしかないListView GridViewに下部にマージンをあけたい時よくつかうメモListViewの設定split で ドット文字列を、bitmapにするクラスを作ってみた。uriから画像の回転角度を取得するgridviewとlistviewで表示にalphaanimationを使ったら動かないのが存在する問題自分で変数を持つクラスを作ってコピーした時に参照まで渡してしまう問題でかい画像が表示されない。という問題interfaceをandroidで使ってみるフルスクリーンでナビゲーションバーまで消せるパソコンを買ったらする事点滅をさせるスクリプトJsonObjectを扱う時のtry catchが邪魔なのでシンプルにする2chのまとめアプリは気を付けろArrayAdapterの使い方setTimeOutを作るarraylistを並び替えAndroidの勉強で気を付けるべき6つの事staticで変数を持ちまわす時Androidで定規を作る時にサイズを確認してみる。TextureViewがゴミから神になった日ListViewの位置を変更しないで更新する方法animationをxmlで設定するのはアホなようだ。listを作るのがめんどい件について矩形の中の点の存在条件についてScrollViewのScrollToが効かない時Twitterのアプリを暗黙的Intentで狙いうちの巻勉強した内容をクラスにしてみてるText三角形の座標の包括判定をプログラムで実装前回作ったeasingを使って、translateアニメーションにイージングをかける。AndroidのデフォルトのアニメーションがダサいのでEasingをJavascriptから持ってきたmatrixを使って、回転をさせる時に中心点をずらす方法destoryとかで割と実行してるメモリリーク対策AnimationDrawable 動かないTextViewをセンター寄せにする。特定のアプリがインストールされているかを判別する方法surfacevierをaddviewすると、一瞬画面が点滅する件アニメーションで高さを変更listviewで押すとデフォルトで背景に色がつくのを抑止するline-heightをアンドロイドのtextviewで設定をする。listviewの区切り線を消すframelayoutだとmarginが効かない@android2.2アンドロイドのimageviewで背景が透けるという糞仕様を発見ウインドウのサイズを取得する方法decodeResourceは劣化する上に糞遅い。decodeResourceは劣化します。もう一度言います。decodeResourceは劣化します。

カテゴリー:androidアプリTips

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする