Android编程之手机壁纸WallPaper设置方法示例

作者:迟做总比不做强 时间:2023-09-27 20:51:10 

本文实例讲述了Android编程之手机壁纸WallPaper设置方法。分享给大家供大家参考,具体如下:


/**
* Andorid设置手机屏幕的壁纸
*
* @description:
* @author ldm
* @date 2016-5-4 下午3:08:56
*/
public class SetWallpaperActivity extends Activity {
 // WallpaperManager类:系统壁纸管理。通过它可以获得当前壁纸以及设置指定图片作为系统壁纸。
 private WallpaperManager wallpaperManager;
 // 壁纸对应的Drawable
 private Drawable wallpaperDrawable;
 // 展示样式的ImageView
 private ImageView imageView;
 // 随机生成图片的颜色 Button
 private Button randomize;
 // 设置壁纸
 private Button setWallpaper;
 // 暂定的一些颜色值
 final static private int[] mColors = { Color.BLUE, Color.GREEN, Color.RED,
     Color.LTGRAY, Color.MAGENTA, Color.CYAN, Color.YELLOW, Color.WHITE };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.set_wallpaper);
   // 初始化WallpaperManager
   wallpaperManager = WallpaperManager.getInstance(this);
   wallpaperDrawable = wallpaperManager.getDrawable();// 获得当前系统的壁纸
   initViews();
   initListeners();
 }
 private void initListeners() {
   randomize.setOnClickListener(new OnClickListener() {
     public void onClick(View view) {
       int mColor = (int) Math.floor(Math.random() * mColors.length);
       // 给当前系统壁纸设置颜色
       wallpaperDrawable.setColorFilter(mColors[mColor],
           PorterDuff.Mode.MULTIPLY);// 取两层绘制交集
       imageView.setImageDrawable(wallpaperDrawable);
       // imageView.invalidate();
     }
   });
   setWallpaper.setOnClickListener(new OnClickListener() {
     public void onClick(View view) {
       try {
         // 设置壁纸
         wallpaperManager.setBitmap(imageView.getDrawingCache());
         finish();
       } catch (IOException e) {
         e.printStackTrace();
       }
     }
   });
 }
 private void initViews() {
   imageView = (ImageView) findViewById(R.id.imageview);
   imageView.setDrawingCacheEnabled(true);
   imageView.setImageDrawable(wallpaperDrawable);
   randomize = (Button) findViewById(R.id.randomize);
   setWallpaper = (Button) findViewById(R.id.setwallpaper);
 }
}

布局文件:


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content">
 <ImageView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/imageview" />
 <LinearLayout
   android:orientation="horizontal"
   android:layout_width="wrap_content"
   android:layout_height="match_parent">
   <Button
     android:id="@+id/randomize"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/randomize"
     android:layout_gravity="bottom" />
   <Button
     android:id="@+id/setwallpaper"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/set_wallpaper"
     android:layout_gravity="bottom" />
 </LinearLayout>
</FrameLayout>

希望本文所述对大家Android程序设计有所帮助。

来源:http://blog.csdn.net/true100/article/details/51315268

标签:Android,手机壁纸,WallPaper
0
投稿

猜你喜欢

  • maven私服搭建与使用教程

    2022-05-09 06:23:56
  • C# DataSet查看返回结果集的实现

    2021-10-10 09:54:31
  • Java流程控制顺序结构原理解析

    2022-09-13 14:14:03
  • c# 实现RSA非对称加密算法

    2021-10-15 10:54:06
  • Java的Struts框架简介与环境配置教程

    2023-10-29 05:23:03
  • Python和Java的语法对比分析语法简洁上python的确完美胜出

    2023-08-10 17:06:54
  • Java file类中renameTo方法操作实例

    2021-06-13 01:21:03
  • 新手初学Java集合框架

    2022-10-06 03:01:51
  • Android打包上传AAR文件到Maven仓库的示例

    2023-07-02 15:14:14
  • springboot webflux 过滤器(使用RouterFunction实现)

    2022-12-12 21:28:44
  • 简单聊聊C#字符串构建利器StringBuilder

    2022-07-15 12:49:44
  • C#实现开机自动启动设置代码分享

    2021-10-08 20:45:14
  • JAVA内部类示例详解及练习

    2023-04-05 06:42:39
  • Android选择与上传图片之ImagePicker教程

    2021-06-29 08:39:43
  • Android使用kotlin实现多行文本上下滚动播放

    2022-05-09 08:08:29
  • Spring纯注解配置实现代码示例解析

    2021-06-05 18:54:28
  • springBoot项目如何实现启动多个实例

    2021-09-22 00:13:47
  • 详解C#如何实现屏幕放大和取色功能

    2022-04-15 04:00:37
  • java使用@Scheduled注解执行定时任务

    2021-09-16 08:37:16
  • Android如何通过组合的方式自定义View

    2022-11-01 04:33:46
  • asp之家 软件编程 m.aspxhome.com