zoukankan      html  css  js  c++  java
  • Api demo源码学习(13)App/Activity/SetWallpaper

    本节实现了设置桌面壁纸的功能。

    实现一个WallpaperManager实例,调用wallpaperManager.setBitmap()函数设置桌面壁纸。

    public class SetWallpaperActivity extends Activity {
        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.wallpaper_2);
            final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
            final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
            final ImageView imageView = (ImageView) findViewById(R.id.imageview);
            imageView.setDrawingCacheEnabled(true);
            imageView.setImageDrawable(wallpaperDrawable);

            // 点击此button实现随机的修改image的颜色的功能
            Button randomize = (Button) findViewById(R.id.randomize);
            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();
                }
            });

            // 点击此button修改桌面背景
            Button setWallpaper = (Button) findViewById(R.id.setwallpaper);
            setWallpaper.setOnClickListener(new OnClickListener() {
                public void onClick(View view) {
                    try {
                        wallpaperManager.setBitmap(imageView.getDrawingCache());
                        finish();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    }

    以上即可。

  • 相关阅读:
    Matlab从入门到精通 Chapter5 数据可视化
    给source insight添加.cc的C++文件后缀识别
    机构研究报告
    配置Haproxy
    Ceph:一个 Linux PB 级分布式文件系统
    Centos安装源包出错Package xxx.rpm is not signed
    [虚拟机] 小实验: 使用KVM虚拟机,安装一个windows系统
    关于北京地铁通车计划
    python字符串和数字的基本运算符 valar
    python种类 valar
  • 原文地址:https://www.cnblogs.com/xutao1988/p/2295163.html
Copyright © 2011-2022 走看看