ビットマップ画像を壁紙として設定しようとしています!
現在、このコードを使用してそれを完了しています。
WallpaperManager wpm = WallpaperManager.getInstance(this);
float minH = wpm.getDesiredMinimumHeight();
float minW = wpm.getDesiredMinimumWidth();
Log.d("seb", minH + " = Min Height");
Log.d("seb", minW + " = Min Width");
targetBitmap = Bitmap.createScaledBitmap(targetBitmap,(int)minW, (int)minH, false);
wpm.setBitmap(targetBitmap);
できます!電話は画面に合わせてビットマップのサイズを自動的に変更しますが、ビットマップがどれほど小さいかは関係なく、常に水平方向にトリミングされて拡大されます。
これを修正する方法を知っている人はいますか?
(1つの修正は、実際の写真の代わりに黒い境界線を配置してトリミングすることですが、より良い代替手段があると推測しています)
編集
これはコードの元の画像です。
次の図は、壁紙に設定されたときに切り取られたという意味です。
これは、システムが画面全体に合わせて画像を自動的に拡大するため、画像のサイズを変更しても同じです。