您的位置:首页 > 其它

获取桌面的壁纸来设成背景

2012-12-01 15:31 901 查看
第一种方法,可直接设置主题,

下面重点介绍第二种方法:

[java] view plaincopyprint?

// 获取壁纸管理器

WallpaperManager wallpaperManager = WallpaperManager

.getInstance(mContext);

// 获取当前壁纸

Drawable wallpaperDrawable = wallpaperManager.getDrawable();

// 将Drawable,转成Bitmap

Bitmap bm = ((BitmapDrawable) wallpaperDrawable).getBitmap();

// 需要详细说明一下,mScreenCount、getCurrentWorkspaceScreen()、mScreenWidth、mScreenHeight分别

//对应于Launcher中的桌面屏幕总数、当前屏幕下标、屏幕宽度、屏幕高度.等下拿Demo的哥们稍微要注意一下

float step = 0;

// 计算出屏幕的偏移量

step = (bm.getWidth() - LauncherPreferenceModel.mScreenWidth)

/ (LauncherPreferenceModel.mScreenCount - 1);

// 截取相应屏幕的Bitmap

Bitmap pbm = Bitmap.createBitmap(bm, (int) (mLauncher

.getCurrentWorkspaceScreen() * step), 0,

(int) (LauncherPreferenceModel.mScreenWidth),

(int) (LauncherPreferenceModel.mScreenHeight));

// 设置 背景

layout.setBackgroundDrawable(new BitmapDrawable(pbm));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: