如何设置适合横向和纵向模式的壁纸? 我正在使用的代码仅在纵向或横向中以一种模式设置动态壁纸。 假设我在“人像”模式下设置壁纸并转到主屏幕并将方向更改为“横向”,则壁纸在横向模式下仅适合屏幕的一半,另一半显示为空白屏幕。 请帮助我。
WallpaperManager wallpaperManager =WallpaperManager.getInstance(getBaseContext());
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
Bitmap wallpaper = Bitmap.createScaledBitmap(bitmap1,width,height, true);
Canvas canvas = new Canvas(wallpaper);
imageView.draw(canvas);
textView.draw(canvas);
try {
wallpaperManager.setBitmap(wallpaper);
wallpaperManager.suggestDesiredDimensions(width,height);
}
catch (IOException e) {
Toast.makeText(FullImageActivity.this,
"Error setting wallpaper", Toast.LENGTH_SHORT)
.show();
}
答案 0 :(得分:0)
我认为你只使用静态壁纸服务(非动态壁纸)。这可以在不同设备上有所不同。主要概念是它使用方形图像,其宽度与较长的屏幕方面一样。在大多数情况下,它会影响图像的中心,但我可能会被制造商过度定义。这有助于我找到更好的方法:https://github.com/kghost/android-static-live-wallpaper