android中设置桌面壁纸
来源:互联网 发布:邢帅网络培训 编辑:程序博客网 时间:2024/05/01 09:19
package com.example.androidapi.app;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;import com.example.androidapi.R;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 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 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(); } } }); }}