壁紙オプションとして設定して壁紙アプリケーションを開発しています。SDカードにある写真ディレクトリからすべての画像をグリッドビューに表示しています。ユーザーが画像のサムネイルのいずれかをクリックすると、壁紙オプションとして設定した全画面表示が開きます。すべてがうまくいっています。問題は、ズームやストレッチなしで全画面表示に画像を設定するオプションを使用してトリミング機能を提供したいということです。多くのコードを試しましたが、期待どおりに機能しませんでした。クリックイベントで次の関数を呼び出しています。以下は私が試したコードですが、画像が引き伸ばされます。
enter code here
private void setWallPaper() {
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
try {
//set for full screen wallpaper
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int fullHeight = metrics.heightPixels;
int fullWidth = metrics.widthPixels;
Bitmap bitmapResized = Bitmap.createScaledBitmap(imageBitmap, fullWidth, fullHeight,true);
wallpaperManager.setBitmap(bitmapResized);
//wallpaperManager.setBitmap(imageBitmap);
Toast toast = Toast.makeText(this, "Set wallpaper successfully!", Toast.LENGTH_LONG);
toast.show();
} catch (IOException e) {
e.printStackTrace();
}
}
このトリミング機能をバイパスして画像を全画面表示にする方法はありますか? この点で私を助けてください。前もって感謝します。