欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

android 设置壁纸 代码,我如何在Android中使用代码设置壁纸?(How can I set Wallpaper in a...

发布时间:2024/3/26 Android 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android 设置壁纸 代码,我如何在Android中使用代码设置壁纸?(How can I set Wallpaper in a... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您可以尝试调整您的位图这样的

DisplayMetrics displayMetrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

int height = displayMetrics.heightPixels;

int width = displayMetrics.widthPixels << 1; // best wallpaper width is twice screen width

// First decode with inJustDecodeBounds=true to check dimensions

final BitmapFactory.Options options = new BitmapFactory.Options();

options.inJustDecodeBounds = true;

BitmapFactory.decodeFile(path, options);

// Calculate inSampleSize

options.inSampleSize = calculateInSampleSize(options, width, height);

// Decode bitmap with inSampleSize set

options.inJustDecodeBounds = false;

Bitmap decodedSampleBitmap = BitmapFactory.decodeFile(path, options);

WallpaperManager wm = WallpaperManager.getInstance(this);

try {

wm.setBitmap(decodedSampleBitmap);

} catch (IOException e) {

Log.e(TAG, "Cannot set image as wallpaper", e);

}

您calculateInSampleSize类可以是这样的

public static int calculateInSampleSize(

BitmapFactory.Options options, int reqWidth, int reqHeight) {

// Raw height and width of image

final int height = options.outHeight;

final int width = options.outWidth;

int inSampleSize = 1;

if (height > reqHeight || width > reqWidth) {

// Calculate ratios of height and width to requested height and width

final int heightRatio = Math.round((float) height / (float) reqHeight);

final int widthRatio = Math.round((float) width / (float) reqWidth);

// Choose the smallest ratio as inSampleSize value, this will guarantee

// a final image with both dimensions larger than or equal to the

// requested height and width.

inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;

}

return inSampleSize;

}

请参阅此链接,进一步澄清

总结

以上是生活随笔为你收集整理的android 设置壁纸 代码,我如何在Android中使用代码设置壁纸?(How can I set Wallpaper in a...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。