package com.easyway.android.ui;import java.io.IOException;import android.app.Activity;import android.app.WallpaperManager;import android.graphics.Color;import android.graphics.PorterDuff;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** * 在Android中获取和设置手机的壁纸 *  *  //获取壁纸管理器 *            final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); *             //获取壁纸图片 *            final Drawable wallpaperDrawable = wallpaperManager.getDrawable(); * 设置壁纸的方法 * //更换壁纸           wallpaperManager.setBitmap(imageView.getDrawingCache()); * @author longgangbai * */public class AndroidWallpaperActivity extends Activity {        final static private int[] mColors =                {Color.BLUE, Color.GREEN, Color.RED, Color.LTGRAY, Color.MAGENTA, Color.CYAN,                        Color.YELLOW, Color.WHITE};        /**         * Initialization of the Activity after it is first created.  Must at least         * call {@link android.app.Activity#setContentView setContentView()} to         * describe what is to be displayed in the screen.         */        @Override        protected void onCreate(Bundle savedInstanceState) {            // Be sure to call the super class.            super.onCreate(savedInstanceState);            // See res/layout/wallpaper_2.xml for this            // view layout definition, which is being set here as            // the content of our screen.            setContentView(R.layout.wallpaper);            //获取壁纸管理器            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 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);                    //调用这个方法用于重新调用onDraw绘制整个界面                    imageView.invalidate();                }            });            //            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();                    }                }            });        }    }

更多相关文章

  1. 设置android全屏的两种方式
  2. Android(安卓)Drawable、Bitmap、byte[]之间的转换
  3. Delphi XE5 android 获取网络状态
  4. Linearlayout
  5. Android(安卓)获取AndroidManifest.xml 中 meta-data 的值
  6. android scrollview滑动时悬浮部分控件
  7. 获取Android系统程序信息
  8. Android如何从服务器获取图片
  9. [Android]获取网络连接状态

随机推荐

  1. Android系统库错误解决
  2. android studio项目嵌入到Android系统源
  3. Android颜色对照表 (左边是颜色示例,右边是
  4. android nine-patch
  5. Android动画研究
  6. Android(安卓)JNI实例代码(一)
  7. android java获得root权限调用linux命令
  8. andrid五大布局
  9. Android中级篇之区分系统程序和安装程序
  10. Android中几种关闭Activity或app的方法