`
longgangbai
  • 浏览: 7338249 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android中获取和设置手机的壁纸

 
阅读更多
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();
                    }
                }
            });
        }
    }

 

分享到:
评论

相关推荐

    Android 壁纸设置和确认demo源码和apk文件

    在Android中,可以通过`WallpaperManager`的`getWallpaperInfo()`方法获取当前壁纸的信息,虽然这不直接确认壁纸的设置状态,但可以用于展示当前壁纸的一些元数据,如来源、类型等。此外,可以通过比较设置前后的...

    Android设置桌面壁纸及恢复默认墙纸.rar

    Android设置桌面壁纸及恢复默认墙纸,程序中将创建一个存储壁纸图片资源的id数组,定义被选中的图片在id数组中的索引,需要自定义一个BaseAdapter,然后:  ImageView iv = new ImageView(Sample_12_2.this);//新建...

    Android 设置手机屏幕壁纸(桌面背景).rar

    Android 设置手机屏幕壁纸,不能就是大家熟悉的桌面背景,点击按钮,即可更换手机背景图片,整个功能的实现,封装在一个按钮事件中,以下是相关的代码片段:  Button bbjt;//设置背景图按钮  EditText etwz;//网站...

    android 获取手机现存桌面getWallpaper 与setImageDrawable

    在Android开发中,获取手机现存桌面壁纸以及设置新的桌面壁纸是常见的需求。本文将深入探讨`getWallpaper()`和`setImageDrawable()`这两个方法,并提供如何在Android应用中实现这一功能的详细步骤。 首先,让我们...

    Android 壁纸设置代码 详解

    在Android系统中,壁纸设置是用户个性化手机界面的重要方式之一。开发者可以通过编程接口来实现自定义壁纸的功能,为用户提供更多的个性化选择。这篇博客"Android 壁纸设置代码详解"可能详细介绍了如何在Android应用...

    获取android手机应用,可拖动排序,可卸载

    这个主题"获取android手机应用,可拖动排序,可卸载"涉及到Android系统中的应用管理功能,尤其是第三方工具或自定义启动器如何增强这些功能。我们将探讨Android系统的应用管理机制、第三方应用市场以及拖动排序和...

    android桌面背景设置及恢复

    在Android操作系统中,桌面背景设置是一项基本且个性化的功能,允许用户根据个人喜好来定制手机主屏幕的视觉体验。这篇文章将深入探讨如何自定义Android手机的桌面背景,并讲解如果对设置不满意时如何恢复到默认状态...

    android手机壁纸

    Android中常用的图片加载库有Glide、Picasso和Fresco等。这里以Glide为例,Glide以其高效和易用性著称。在布局文件中,我们可以使用ImageView来展示图片,然后在代码中使用Glide的with()方法指定上下文,并调用load...

    Android应用源码实现手机查看壁纸效果-IT计算机-毕业设计.zip

    本项目名为"Android应用源码实现手机查看壁纸效果",旨在通过实际的代码实现,帮助学习者掌握如何在Android平台上创建一个用于浏览和设置手机壁纸的应用。这个应用可能包含了一个图片浏览组件,用户可以通过它来预览...

    Android-玩Android第一期视频墙纸

    在Android平台上,开发者...总的来说,"Android-玩Android第一期视频墙纸"项目涵盖了Android开发中的多个技术领域,包括服务管理、多媒体处理、图形渲染、用户交互和权限控制等,对开发者来说是一个综合性的实践挑战。

    Android手机壁纸

    在Android操作系统中,手机壁纸是用户个性化设备的重要方式之一,无论是静态壁纸还是动态壁纸,都能为用户带来独特的视觉体验。动态壁纸相比于静态壁纸,增添了互动元素,使屏幕更具活力。本资源提供了一些可供更换...

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

    - **Bitmap**:Android中的位图对象,用于存储和操作图像。 - ** BitmapFactory**:用于从字节数组或流中解析Bitmap,支持按需解码以节省内存。 - ** Glide**或**Picasso**:第三方库,简化图片加载、缓存和缩放...

    Android桌面背景设置器

    这个名为"Android桌面背景设置器"的项目旨在提供一个解决方案,让用户能够方便地从网上获取图片并将其设置为桌面背景,同时也支持使用手机摄像头拍摄照片作为背景。下面我们将详细探讨其中涉及的关键知识点。 首先...

    android壁纸更换程序

    在Android平台上,开发一款能够自动更换壁纸的应用是一个常见的需求,尤其对于那些喜欢个性化手机界面的用户来说。"android壁纸更换程序"就是一个实现这种功能的软件,它利用了Android系统的AlarmManager服务来定时...

    Android设置桌面背景图片的实现方法

    在Android开发中,设置桌面背景图片是常见的需求之一,它涉及到对用户界面的自定义以及权限管理。下面将详细介绍如何实现这一功能。 首先,我们来看标题和描述中提到的实现方法。Android系统允许应用程序设置壁纸,...

    Android动态壁纸WallPaPerService.zip

    在Android系统中,动态壁纸(Live Wallpapers)是一种可以展示动画或者交互效果的壁纸类型,为用户提供了超越静态图片的个性化体验。`WallPaPerService`是Android框架中用于实现动态壁纸的核心组件,它允许开发者...

    Android动态壁纸

    1. **动态壁纸服务**:在Android中,动态壁纸是通过继承`WallpaperService`类来创建的。这个服务类提供了设置和更新壁纸的方法,例如`onCreateEngine()`用于初始化壁纸引擎,`onStart()`和`onStop()`用于控制壁纸...

    Android开发壁纸

    本文将详细讲解如何实现Android手机壁纸的设置功能,这非常适合初学者作为学习进阶的资源。 首先,我们需要理解Android系统的壁纸服务。Android提供了WallpaperManager类,它是Android框架的一部分,允许应用程序...

    设置壁纸demo

    首先,我们要了解在Android中设置静态壁纸的基本流程。静态壁纸通常是一张图片,可以通过以下步骤进行设置: 1. 获取壁纸选择器Intent:使用`WallpaperManager`类的`getStaticWallpaperChooserIntent()`方法生成一...

    安卓锁屏九宫格锁屏解锁壁纸相关-android一键锁屏源代码android4.2工作正常.zip

    解锁壁纸则涉及到对系统壁纸服务的调用,允许用户选择和设置个性化壁纸。 【压缩包子文件的文件名称列表】中,"JavaApk源码说明.txt"很可能是对源代码的简要说明,包含了关于代码结构、功能模块和使用方法的介绍。...

Global site tag (gtag.js) - Google Analytics