Android动态桌面,设置壁纸篇

最近要做一个动态桌面。就看了下动态桌面有关的东西。

1,通过WallpaperManager设置静态壁纸

1.1先通过以下方法获取到WallpaperManager
在这里插入图片描述
1.2这个WallpaperManager里面有多种方式设置静态壁纸,需要android.Manifest.permission.SET_WALLPAPER这个权限不要忘记设置
1.2.1通过资源文件
在这里插入图片描述
这个是第二个方法,比第一个多了一个int类型的which。我们可以看到他的值android studio已经帮我们现实出来了。我们来分别说一下。
android.app.WallpaperManager.FLAG_LOCK是设置锁屏壁纸
android.app.WallpaperManager.FLAG_SYSTME是设置系统壁纸

在这里插入图片描述
1.2.2通过bitmap
方法一:
在这里插入图片描述
方法二:
下一个方法我们来看看。它有3个参数。
第一个fullImage是一个bitmap。
第二个visibleCrpHint是参数是传一个矩形区域。解释是说传递的应该是fullImage这张图片想要显示的矩形区域作为壁纸,如果你知道手机和图片的宽高比也可以传null,则显示整张图片。
第三个allowBackup参数的含义是如果传ture,则允许系统备份壁纸图片。false则不允许。

在这里插入图片描述
方法三:
方法三比方法二多了一个参数which。用来设置是系统壁纸还是锁屏壁纸
在这里插入图片描述
1.2.3通过InputStream流设置壁纸
在这里插入图片描述
剩下2个方法的参数同bitmap一样。
在这里插入图片描述
在这里插入图片描述
未完待续。。。。

2,设置动态壁纸

感谢Android动态壁纸解析

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
设置动态壁纸,在Android开发中需要进行以下步骤: 1. 首先,在res文件夹下创建一个新的文件夹,命名为xml,用于存放动态壁纸的配置文件。 2. 在xml文件夹内,创建一个名为wallpaper.xml的配置文件。在该文件中,定义动态壁纸的属性,例如壁纸资源、壁纸的位置等。 3. 在res文件夹下创建一个新的文件夹,命名为drawable,并在其中添加壁纸资源的图片文件。 4. 在AndroidManifest.xml文件中声明壁纸服务。在<application>标签内添加以下代码: ``` java <service android:name=".WallpaperService" android:enabled="true" android:permission="android.permission.BIND_WALLPAPER" > <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="android.service.wallpaper" android:resource="@xml/wallpaper" /> </service> ``` 5. 创建一个名为WallpaperService的Java类,继承自WallpaperService。在该类中,重写onCreateEngine()方法,并返回一个继承自Engine的内部类对象。在该内部类中,实现动态壁纸的逻辑,在onCreate()方法中初始化壁纸资源,在onSurfaceCreated()方法中绘制壁纸,在onSurfaceDestroyed()方法中释放资源。 6. 编译、运行项目,并选择该动态壁纸作为手机的壁纸。 以上是设置动态壁纸的基本步骤,当然还可以通过对壁纸的绘制、交互等进行更复杂的操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值