Android设置图片为手机壁纸,并且全屏显示。

转载 2012年12月28日 21:27:19

最近项目中用到设置壁纸,但设置完的壁纸是被系统剪切掉的,怎么才能全屏显示呢?谷歌、百度一顿海搜啊,但很可惜,全是转载,就一句话setWallpaper(bitmap),我就纳闷了,有的人就为了拿那一点可怜的积分,也不试下就胡乱转载。最后没办法找了api文档,拿着字典查英文单词最后终于调出来了。上代码

复制代码
 1 try {
 2                     WallpaperManager instance = WallpaperManager.getInstance(WallPicActivity.this);
 3                     int desiredMinimumWidth = getWindowManager().getDefaultDisplay().getWidth(); 
 4                     int desiredMinimumHeight = getWindowManager().getDefaultDisplay().getHeight();
 5                     instance.suggestDesiredDimensions(desiredMinimumWidth, desiredMinimumHeight);
 6                     instance.setBitmap(bitmap);
 7                     Toast.makeText(WallPicActivity.this,"壁纸设置成功",Toast.LENGTH_SHORT).show();
 8                 } catch (IOException e) {
 9                     // TODO Auto-generated catch block
10                     e.printStackTrace();
11                 }
复制代码
instance.suggestDesiredDimensions(desiredMinimumWidth, desiredMinimumHeight);这句话我的理解是将壁纸以期望的宽高显示,如果宽高正好是屏幕的宽高,则壁纸是单屏显示。
instance.setBitmap(bitmap);这句话就是设置壁纸啦,但最好把bitmap这个参数再加工一次,缩放到desireMinimumWidth,desireMinmunHeight宽度和高度后再设置。

缩放代码见下:
复制代码
public static Bitmap sBitmap(Bitmap b, int w, int h) {
        int width = b.getWidth();
        int height = b.getHeight();
        float scaleWidth = ((float) w) / width;
        float scaleHeight = ((float) h) / height;
        Matrix matrix = new Matrix();
        matrix.postScale(scaleWidth, scaleHeight);//缩放
        return Bitmap.createBitmap(b, 0, 0, width, height, matrix, true);
    }
复制代码

Android imageView设置 全屏显示

Android   imageView设置  全屏显示   添加一个属性  即可 android:scaleType="fitXY"
  • XSL1990
  • XSL1990
  • 2014年01月23日 12:58
  • 6165

Android开发学习之设置Android壁纸的功能实现

今天和大家分享的是关于在Android中设置壁纸的方法,在Android中设置壁纸的方法有三种,分别是:             1、使用WallpaperManager的setResource(in...
  • qinyuanpei
  • qinyuanpei
  • 2013年12月05日 13:04
  • 7549

Android 壁纸设置代码 详解

前几天看到豌豆荚上面风景壁纸的APP 下载得挺火,闲来无事心痒痒的想写一个壁纸程序。由于是Android开发新手,忘记了一个很重要的开发步骤,就是对权限的设置。开始以为自己写的壁纸设置程序有问题,经过...
  • u013360656
  • u013360656
  • 2015年08月04日 15:18
  • 1880

Android设置手机壁纸(WallPaper)

/** * Andorid设置手机屏幕的壁纸 * * @description: * @author ldm * @date 2016-5-4 下午3:08:56 */ public c...
  • true100
  • true100
  • 2016年05月04日 15:22
  • 2315

Android设置壁纸的几种方案

Android设置壁纸有许多方法,主要思路有两种: 1:通过WallpaperManager设置 2:通过系统程序设置 下文将分开说明: 通过WallpaperManager设置 该...
  • xzy2046
  • xzy2046
  • 2014年09月28日 14:18
  • 3676

android开发壁纸的设置

壁纸的设置需要一定的权限   获取壁纸管理器需要的权限  suggestDesiredDimensions方法需要加权限 设置壁纸  一、将整张图片设置为壁纸 相应的代码  获...
  • Sandy_zhi
  • Sandy_zhi
  • 2016年02月01日 09:36
  • 409

Android笔记:通过代码设置系统壁纸

代码设置锁屏
  • xiaoyu940601
  • xiaoyu940601
  • 2016年12月15日 11:52
  • 335

android_launcher的源码详细分析和壁纸修改 .

一、主要文件和类 1.Launcher.java:launcher中主要的activity。 2.DragLayer.java:launcher layout的rootview。DragLayer...
  • qq258711519
  • qq258711519
  • 2013年03月15日 10:46
  • 10655

android 设置锁屏壁纸

客户功能需求:设置可以自定义的锁屏壁纸。 分析:首先分析系统壁纸设置过程,参考 上一期文章,Android5.1 设置壁纸流程简析。可以按照设置壁纸的方式,模仿实现设置锁屏壁纸的功能。 利用广播,实现...
  • u010083774
  • u010083774
  • 2015年11月22日 17:10
  • 3453

Launcher 3.0设置壁纸后壁纸被拉伸

最近遇到一个问题,就是Android手机设置bizhihou
  • sword1987cao
  • sword1987cao
  • 2014年06月09日 23:31
  • 1130
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android设置图片为手机壁纸,并且全屏显示。
举报原因:
原因补充:

(最多只允许输入30个字)