デバイスの壁紙イメージを固定間隔で変更する必要があるアプリケーションを開発しています。私はdrawableフォルダに画像を保存しています。私は壁紙としてこれらのイメージを設定するためにWallpaperManagerを使用しています。デバイスタイプに基づいて壁紙イメージを拡大縮小する方法
アプリがさまざまなデバイスでうまく動作するように、resディレクトリのdrawable-small、drawable-xlargeなどのさまざまなフォルダにさまざまなサイズの画像を複数コピー保存しています。ただし、これらはすべてのデバイスで適切に拡張されません。
私の質問は、壁紙の画像がすべての端末にうまく収まるようにすることです。プログラムでそれを行う必要がありますか?どんなサンプルコードでも大いに役立つでしょう。ありがとう。
これは、私はあなたが画面の比率に応じて画像を選択することが
Display display = Activity.getWindowManager().GetDefaultDisplay();
display.getHeight();
display.getWidth();
を使用することができます
Drawable drawable;
WallpaperManager wpm;
@Override
public void onCreate() {
super.onCreate();
wpm=WallpaperManager.getInstance(WallAlarm.this);
drawable = getResources().getDrawable(R.drawable.two);
}
Bitmap wallpaper=((BitmapDrawable)drawable).getBitmap();
ImageView iv=new ImageView(this);
iv.setImageDrawable(drawable);
iv.setScaleType(ScaleType.FIT_XY);
try {
wpm.setBitmap(wallpaper);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Thanks..I display.getHeight()を使用しようとしています。しかし、何とかして、画像は小さな機器で切り取られ続けます。また、描画可能なイメージファイルを通して壁紙イメージにscaleTypeオプションを使用する方法がわからない。親切に助けてください。 – ambit
あなたの壁紙イメージはImageViewですか?そのようなことをすることができます: iv.setImageBitmap(ビットマップ); (またはiv.setImageDrawable)\t \t \t iv.setScaleType(ScaleType.FIT_CENTER); –
もう一度ありがとうございます。自分のコードでimageviewを使ってみました。しかし、私はまだ私はどのように私の壁紙に画像ビューを関連付けるだろうか分からない。私は私の元の質問を編集し、いくつかのコードを入れました。親切にそれを通り抜け、可能なら私を助けてください。申し訳ありませんが、Androidでちょっと新しくて少し混乱しています。 – ambit