0

WallpaperManager を使用して、バックグラウンドでビットマップを表示しています。私が使用しているwallpaperManager.setBitmap(wallPaper);//壁紙はもちろんビットマップです。

このビットマップを画面サイズに調整し、すべての仮想画面に表示したい(繰り返し)。

それに関するヒントはありますか?

4

2 に答える 2

0

デバイスの密度を検出し、それに応じて壁紙を設定できます。

    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; 
    }  
于 2012-07-02T12:24:05.353 に答える
0

Androidデベロッパーサイトのこの記事では、各密度の画面解像度の範囲を示しています。

壁紙は画面の解像度と一致している必要があり、引き伸ばされていないと思います。これは、たとえば、480x854のような高い画面密度で新しいエミュレーターを作成した場合に確認できます。デフォルトのホーム画面の背景は中央に配置され、上部と下部に大きな黒い帯があります。

WallpaperManager APIは、setResource()メソッドを使用する場合でも、PNGまたはJPEG形式の画像を使用する必要があることを示しています。リソースはビットマップである必要があり、9パッチやその他のタイプのDrawableではありません。

于 2012-07-02T11:37:49.270 に答える