Android编程之手机壁纸WallPaper设置方法示例
程序员文章站
2023-11-29 09:53:28
本文实例讲述了android编程之手机壁纸wallpaper设置方法。分享给大家供大家参考,具体如下:
/**
* andorid设置手机屏幕的壁纸
*...
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。