获取桌面的壁纸来设成背景
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));
下面重点介绍第二种方法:
[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));
相关文章推荐
- C#获取当前电脑桌面的壁纸,并设置成窗体背景图
- 获取桌面壁纸作为App背景
- c#获取windows桌面背景代码示例
- VC++获得桌面背景区域和获取任务栏的高度
- 【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景
- Windows8锁定屏幕背景自定义为当前的桌面壁纸
- 使用Objective-C获取每日必应壁纸设置为桌面
- C#获取桌面壁纸图片的路径(Desktop Wallpaper)
- 桌面壁纸大全:50套高清 Mac 桌面壁纸背景【下篇】
- 桌面壁纸大全:50套 Mac 高清桌面壁纸背景【上篇】
- 将应用程序背景设置为桌面壁纸背景
- C#获取桌面壁纸图片的路径(Desktop Wallpaper)
- UIImageView 如何实现windows 桌面类似的背景壁纸屏幕(很小的图片会显示N多个)?
- 类似桌面背景壁纸随手指滑动--第三方开源--BackgroundViewPager
- 获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)
- css3实现背景图片拉伸效果像桌面壁纸一样
- win8开始屏幕界面显示桌面壁纸背景方法图解
- Android获取当前桌面壁纸
- Android获取当前桌面壁纸
- Android BackgroundViewPager:类似桌面背景壁纸随手指滑动