您好,我正在编码以设置主屏幕壁纸。它工作正常。但是我的图像像素完全损坏,然后我的墙纸不适合主屏幕的实际尺寸。我正在尝试锻炼不同尺寸的图像。不幸的是它不适合我。如何解决。
我的代码在这里
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
Drawable drawable = getResources().getDrawable(R.drawable.newimage);
Bitmap wallpaper = ((BitmapDrawable) drawable).getBitmap();
try
{
wallpaperManager.setBitmap(wallpaper);
}
catch (IOException e)
{
e.printStackTrace();
}
我的截图原图
我的屏幕截图 Android 模拟器主屏幕
为什么我的原图在这里损坏了。
如何根据模拟器大小
显示我的原始图像
。
最佳答案
你可以试试这个:
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
Drawable drawable = getResources().getDrawable(R.drawable.newimage);
Bitmap wallpaper_source = ((BitmapDrawable) drawable).getBitmap();
try {
int w = wallpaperManager.getDesiredMinimumWidth();
int h = wallpaperManager.getDesiredMinimumHeight();
int x = (w-wallpaper_source.getWidth())/2;
int y = (h-wallpaper_source.getHeight())/2;
Bitmap wallpaper = Bitmap.createBitmap(w, h, Config.ARGB_8888);
Canvas c = new Canvas(wallpaper);
c.drawBitmap(wallpaper_source, x,y, null);
wallpaperManager.setBitmap(wallpaper);
}
catch (IOException e)
{
e.printStackTrace();
}
关于android - 为什么我的主屏幕壁纸损坏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240871/