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项目实战-超级壁纸

本课程包含18个小节课程,内容包括:项目演示,项目架构,Bmob后台创建表,集成Bmob到项目中,创建Bmob JavaBean,测试Bmob查询,使用MVP实现用户登录,使用MVP查询分类,使用MVP实现壁纸查询,实现底部导航,实现ViewPager页面导航,实现HomeFragment显示壁纸,实现分类展现壁纸,实现我的设置,实现系统设置,实现分类显示,显示壁纸,设置壁纸。
  • 2017年10月11日 10:45

android设置全屏壁纸代码

设置全屏壁纸代码: WallpaperManager instance = WallpaperManager.getInstance(mContext); Wi...
  • hudan2714
  • hudan2714
  • 2013-09-22 15:46:54
  • 1779

css background-image 自适应宽高

最近接手前端页面,让给调样式。哥纯粹一个代码程序猿,表示那些个样式应该让前端人员或者美工小妹妹来实现. 书归正传,碰到了问题,页面要在手机上展现,众所周知,手机在中国的牌子很多,很难做到统一。 页...
  • chenqk_123
  • chenqk_123
  • 2015-03-18 09:35:46
  • 66280

Android设置手机壁纸(WallPaper)

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

设置ImageView显示的图片铺满全屏

转载自:http://m.blog.csdn.net/blog/wjwj1203/32334459         为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,...
  • lyx4228716
  • lyx4228716
  • 2015-04-27 22:24:38
  • 9876

android开发之给LinearLayou设置网络图片作为背景

1.在onCreate()方法中获取LinearLayout控件 private LinearLayout personal_bg; personal_bg = findViewById(R.id...
  • u013310075
  • u013310075
  • 2015-12-15 23:28:00
  • 4116

Android小程序(网络图片设置为背景桌面)

  • 2013年03月27日 16:07
  • 615KB
  • 下载

在android中使用ImageLoder加载网络图片时,将图片设置为ImageView的背景

最近开始接触到android的开发,在开发中使用ImageLoder加载网络图片,但是框架加载的图片默认是通过ImageView的src属性设置,所以在某些场合是不符合需求,比如通过设置src在某些场...
  • zuochangman
  • zuochangman
  • 2016-09-22 14:32:30
  • 3631

Android7.0&8.0 默认壁纸修改

1.拷贝自定义壁纸 默认壁纸是default_wallpaper,在/frameworks/base/core/res下面。找到所以的default_wallpaper所在的地方,然后把我们自己的...
  • Aaron121314
  • Aaron121314
  • 2017-07-11 16:29:20
  • 2854

Android 单屏壁纸设置

在设置壁纸的时候
  • csxwc
  • csxwc
  • 2014-05-08 11:26:58
  • 1826
收藏助手
不良信息举报
您举报文章:Android设置图片为手机壁纸,并且全屏显示。
举报原因:
原因补充:

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