だから、ちょっとしたコード:
final WallpaperManager mgr = (WallpaperManager)m_context.getSystemService(Service.WALLPAPER_SERVICE);
final int cx = mgr.getDesiredMinimumWidth();
final int cy = mgr.getDesiredMinimumHeight();
画面サイズが 800x600 のデバイスでこれを実行しています。cx は 1200 の値になり、cy は 800 の値になります...正しい比率からそれほど離れていませんが、画面サイズよりもはるかに大きくなります。さらに悪いことに、システムはこれらの値を意味しているようです。壁紙を小さい画像に設定すると、1200x800 に拡大されてから、800x600 の画面に平手打ちされます。一度に、歪んだり、ぼやけたり、トリミングされたりします。
単色の境界線と元の画像を中央に配置して、より大きなビットマップを作成しようとすると、うまくいきます. 元の画像を縁取りされた大きな画像の中央に配置すると、右下に配置されてしまいます。実際の画面の。より良いですが、それでも理想的ではありません。
小さい元のビットマップを取得して、それをより大きな画面サイズの領域の中央に配置し、壁紙管理者を幸せにすることができます。これにより、私の画像が画面の中央に表示されます。
では、ここで質問の部分に進みます。これを行うと、どのような恐ろしいことが起こりますか? 私が表示しようとしている画像の下と右の境界線の広大な範囲を明らかにするために、エンドユーザーは何をしますか?