WallpaperManager を使用して、バックグラウンドでビットマップを表示しています。私が使用しているwallpaperManager.setBitmap(wallPaper);
//壁紙はもちろんビットマップです。
このビットマップを画面サイズに調整し、すべての仮想画面に表示したい(繰り返し)。
それに関するヒントはありますか?
WallpaperManager を使用して、バックグラウンドでビットマップを表示しています。私が使用しているwallpaperManager.setBitmap(wallPaper);
//壁紙はもちろんビットマップです。
このビットマップを画面サイズに調整し、すべての仮想画面に表示したい(繰り返し)。
それに関するヒントはありますか?
デバイスの密度を検出し、それに応じて壁紙を設定できます。
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
switch(displayMetrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
// Wallpaper for small sized devices.
break;
case DisplayMetrics.DENSITY_MEDIUM:
// Wallpaper for medium-sized devices.
break;
case DisplayMetrics.DENSITY_HIGH:
// Wallpaper for big-sized devices.
break;
}
Androidデベロッパーサイトのこの記事では、各密度の画面解像度の範囲を示しています。
壁紙は画面の解像度と一致している必要があり、引き伸ばされていないと思います。これは、たとえば、480x854のような高い画面密度で新しいエミュレーターを作成した場合に確認できます。デフォルトのホーム画面の背景は中央に配置され、上部と下部に大きな黒い帯があります。
WallpaperManager APIは、setResource()メソッドを使用する場合でも、PNGまたはJPEG形式の画像を使用する必要があることを示しています。リソースはビットマップである必要があり、9パッチやその他のタイプのDrawableではありません。