android 壁纸再拿,Android获取当前桌面壁纸
这段时间项目有需求要获取桌面的壁纸来设成背景,发现网上很多同学都通过WallpaperManager的getDrawable等API来获取,这样的确能获得到壁纸,但是要稍微注意一下。
桌面的壁纸可是很大很大的一张哦,你要直接用来设置成背景,那可是很丑的。所以我们需要稍微处理一下。
大致思路就是把一张壁纸切成几片,当前屏幕对应那片,我们就要那片。上个图:
// 获取壁纸管理器
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));
测试环境,我的手机是moto 526,屏幕共7屏,现在咱取第六屏,效果如下
android 壁纸再拿,Android获取当前桌面壁纸相关推荐
- 最新精美壁纸:2013年4月份桌面壁纸下载
桌面壁纸是电脑桌面所使用的背景图片,可以根据大小和分辨率来做相应调整. 壁纸让我们的电脑看起来更好看,更漂亮,更有个性.这篇文章收集了一组最新出炉的2013年4月份桌面壁纸,供大家免费下载. 您可能感 ...
- Android利用自带摄像头实现透明桌面壁纸
先看下效果,其实就是一个动态壁纸,通过摄像头把实时预览景象绘制到界面上,动态视频壁纸的实现原理与之类似 用到的权限 <uses-permission android:name="and ...
- 电脑桌面加html格式壁纸,巧妙使用IDM获取精美电脑桌面壁纸
很多小伙伴都喜欢更换桌面壁纸,但是现在很多壁纸网站的壁纸都有水印,分辨率低,怎么办呢?在微软官方网站中其实提供了很多壁纸,只是下载步骤很麻烦,需要一张一张点击进去后进行下载. 这里小编要介绍一款神器: ...
- 想给你的Mac换个可心的高清壁纸?Mac好用的桌面壁纸软件推荐
担心找不到好看的Mac壁纸?我想你可能缺少一款好用的Mac高清桌面壁纸软件!每天都要用电脑来学习.工作,每天看到同样的电脑桌面难道不无聊么?给自己的Mac电脑换个好看的高清动态壁纸,每天给自己一个好心 ...
- 【Python】采集3万张4K超清壁纸,实现定时自动更换桌面壁纸脚本(内含完整源码)
前言 嗨喽!大家好,这里是魔王~ 发现一个不错的壁纸网站,里面都是超高清的图片 所以,我打算把这些壁纸都采集下来,然后在做一个自动跟换桌面壁纸的脚本,这样基本上你一年都可以每天都有不重复桌面了 先来看 ...
- win10怎么将计算机放桌面壁纸,win10电脑系统怎么改变桌面壁纸的大小
有的时候我们为了电脑好看一点,会挑选好看的图片,然后把它设置为桌面壁纸.我们在Win10电脑上设置设置桌面壁纸时,有些壁纸由于过长或过高,在桌面上会显示出扭曲的现象,这很不美观.那出现这样的情况,我们 ...
- win10计算机语言超清壁纸,Windows 10 Hero高清桌面壁纸(1920×1200)
Windows 10 Hero高清桌面壁纸(1920×1200)是一份免费的.且高清无水印的Windows 10 Hero高清桌面壁纸文档,其中共有9张分辨率为1920×1200的win10系统专用壁 ...
- 利用bat获取windows桌面壁纸
新建bat文件,贴入以下代码即可 echo off set tmp=%~dp0\tmp set res=%localappdata%\Packages\Microsoft.Windows.Conten ...
- python壁纸程序代码_python设置windows桌面壁纸的实现代码
#!/usr/bin/env python # -*- coding: UTF-8 -*- #----------------------------------------------------- ...
最新文章
- Kafka面试题及答案整理 110道 (持续更新)
- [置顶] mmog游戏开发之业务篇
- python设置cookie_Python中cookie的设置方法
- [css] 字体的粗细的属性是用哪一个?它有哪些属性值?
- mybatisplus新增返回主键_第17期:索引设计(主键设计)
- 【uTenux实验】写在开始实验之前
- spark BlockManager如何实现Broadcast广播
- CSDN上下标输入方法
- php get header url,php函数get_headers是HEAD请求还是GET请求
- Linux嵌入式_详解从原理图到数据手册解析PWM蜂鸣器实现
- 【原】ajaxupload.js上传报错处理方法
- Hibernate三大类查询总结
- 截止11月5日,30日内累计跌幅最大的200只股票
- 声纹识别技术的现状、局限与趋势
- QML QtLocation地图应用学习-4:行政区划
- 使用单元测试测试您的 Room 数据库
- dede分类名称_dede常用标签分类整理
- 如何计算每个月有多少天
- GetLastError函数封装显示具体错误信息
- 华为账号登录的手游如何在雷电(MuMu等)模拟器上登录游戏(以三国杀为例)