2

WallpaperManagerは、一部のデバイスでは壁紙のスケーリングが小さすぎます。次のコードを使用しました。

    Bitmap srcBitmap = .....
    WallpaperManager wm = WallpaperManager
                .getInstance(getApplicationContext());
    int height = wm.getDesiredMinimumHeight();
    int width = wm.getDesiredMinimumWidth();
    wm.setBitmap(Bitmap.createScaledBitmap(srcBitmap, width , height , true);

android 4.0.4のギャラクシーノートでは、壁紙が全画面に表示されます。しかし、2.3のGalaxy s2では、壁紙は画面の中央にある小さな長方形だけを塗りつぶします。

ご挨拶、

mp5

4

2 に答える 2

3

問題はそれでwm.getDesiredMinimumHeight();ありwm.getDesiredMinimumWidth();、一部のデバイスでは-1を返します。そのBitmap.createScaledBitmap(srcBitmap, width , height , true);ため失敗し、の元のサイズsrcBitmapが使用されました。

于 2013-02-01T08:39:58.230 に答える
0

これは、ビットマップの幅と高さで画面にフィットします

    WallpaperManager wallmanage = (WallpaperManager) getSystemService(WALLPAPER_SERVICE);
wallmanager.setBitmap(bitmap);
wallmanager.suggestDesiredDimensions(w, h);

where w = bitmap.getWidth();  
and   h = bitmap.getHeight();
于 2013-07-01T20:44:14.683 に答える