Android学习笔记进阶21之设置壁纸
别忘记在ApplicationManifest.xml 中加上权限的设置。
<uses-permission Android:name = "android.permission.SET_WALLPAPER"/>
壁纸设置方法有三种:
第一 通过WallpaperManager方法中的 setBitmap()
第二 通过WallpaperManager方法中的 setResource()
第三 通过ContextWrapper 类中提供的setWallpaper()方法
由于 Activity 继承ContextThemeWrapper ,ContextThemeWrapper继承 ContextWrapper.
<1>通过实例化WallpaperManager 类调用单例类中setBitmap()方法。
- package xiaosi.Wallpaper;
- import java.io.IOException;
- import android.app.Activity;
- import android.app.WallpaperManager;
- import android.content.res.Resources;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.os.Bundle;
- import android.widget.Toast;
- public class WallpaperActivity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
- Resources res = getResources();
- Bitmap bitmap=BitmapFactory.decodeResource(res,R.drawable.h);
- try
- {
- wallpaperManager.setBitmap(bitmap);
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
第二种方法:通过WallpaperManager方法中的 setResource()
- WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
- try {
- wallpaperManager.setResource(getResources().getIdentifier("wallpaper" + imagePosition, "drawable", "com.ch"));
- Toast.makeText(this, "设置成功", Toast.LENGTH_SHORT).show();
- } catch (IOException e) {
- e.printStackTrace();
- }
第三种方法:通过ContextWrapper 类中提供的setWallpaper()方法
- //重写ContextWrapper中setWallpaper()方法
- public void setWallpaper(InputStream paramInputStream) throws IOException {
- super.setWallpaper(paramInputStream);
- Toast.makeText(this, "设置成功", 1).show();
- }
- //设置壁纸代码
- Resources localResources = getBaseContext().getResources();
- InputStream localInputStream2 = localResources
- .openRawResource(getResources().getIdentifier(
- "wallpaper" + imagePosition, "drawable", "com.ch"));
- try {
- setWallpaper(localInputStream2);
- } catch (IOException e) {
- e.printStackTrace();
- }
Android学习笔记进阶21之设置壁纸的更多相关文章
- Android学习笔记进阶16之BitmapShader
<1>简介 具体的看一下博文:Android学习笔记进阶15之Shader渲染 public BitmapShader(Bitmap bitmap,Shader.TileMode ti ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- Android学习笔记进阶17之LinearGradient
具体的看一下博文:Android学习笔记进阶15之Shader渲染 package xiaosi.BitmapShader; import android.app.Activity; import a ...
- Android学习笔记进阶18 之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- Android学习笔记进阶18之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- Android 学习笔记进阶14之像素操作
在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果.要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作. 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法. ...
- Android学习笔记进阶19 之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
- Android学习笔记进阶19之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
- Android学习笔记进阶14之像素操作
在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果.要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作. 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法. ...
随机推荐
- ARM官方《CMSIS-RTOS教程》之线程Threads
创建线程Creating Threads 一旦RTOS开始运行,就会有很多系统调用来管理和控制活跃的线程.默认情况下,main()函数自动被创建为第一个可运行的线程.在第一个例子里我们使用main() ...
- HTML学习----------DAY2第五节
属性为 HTML 元素提供附加信息. HTML 属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息. 属性总是以名称/值对的形式出现,比如:name="value& ...
- 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错
一.故障描写叙述 首先是实例恢复须要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO可是无活动事务使用下面CLEAR命令: 用CLEAR命令重建该日志文件SQL>al ...
- 【LeetCode】3Sum Closest 解题报告
[题目] Given an array S of n integers, find three integers in S such that the sum is closest to a give ...
- POJ 3450--Corporate Identity【KMP && 枚举】
Corporate Identity Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5696 Accepted: 207 ...
- 利用netstat和tasklist查看PC的端口占用情况 及80端口被占用
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口? 1.Windows平台在windows命令行窗口下执行: E:\oracle\ora92\bin>n ...
- 逆波兰表达式解数学运算(c#)
逆波兰表达式解数学运算 感谢作者 http://blog.csdn.net/liuyuxusuixiang/article/details/25289715 public class TCalcula ...
- net.sf.json Maven依赖配置
转自:https://blog.csdn.net/qq_36698956/article/details/80772984 今天搭框架开始实现前台的json了,于是逐个找适合的框架,发现要实现json ...
- 130.C++经典面试题 52-100
- XT800 在域环境在运行设置
测试时先将防火墙关了,不然无法远程,找个问题后再打开防火墙 0. 防火墙中建立规则,允许XT800通过. 1.在客户端当前用户下运行XT800安装程序 2.输入管理员账号及密码 3.安装时选择D或E盘 ...