• android设置动态壁纸 (Wallpaper) 介绍


    当进入改壁纸的设置页面 但是还没有设置时

    09-21 07:55:05.575: INFO/System.out(1337): service onCreate
    09-21 07:55:05.614: INFO/System.out(1337): service onCreateEngine
    09-21 07:55:05.634: INFO/System.out(1337): MyEngine
    09-21 07:55:05.663: INFO/System.out(1337): onCreate
    09-21 07:55:05.746: INFO/System.out(1337): onSurfaceCreated
    09-21 07:55:05.753: INFO/System.out(1337): onSurfaceChanged
    09-21 07:55:05.785: INFO/System.out(1337): onVisibilityChanged

    当点击设置壁纸按钮后
    09-21 07:55:19.434: INFO/System.out(1337): onTouchEvent
    09-21 07:55:19.574: INFO/System.out(1337): onTouchEvent
    09-21 07:55:20.283: INFO/System.out(1337): service onCreateEngine
    09-21 07:55:20.294: INFO/System.out(1337): MyEngine
    09-21 07:55:20.304: INFO/System.out(1337): onCreate
    09-21 07:55:20.414: INFO/System.out(1337): onSurfaceCreated
    09-21 07:55:20.424: INFO/System.out(1337): onSurfaceChanged
    09-21 07:55:20.443: INFO/System.out(1337): onVisibilityChanged
    09-21 07:55:20.443: INFO/System.out(1337): onoffsetsChanged
    09-21 07:55:20.863: INFO/System.out(1337): onVisibilityChanged
    09-21 07:55:21.305: INFO/System.out(1337): onSurfaceDestoryed
    09-21 07:55:21.333: INFO/System.out(1337): onDestroy

    在壁纸上面点击
    09-21 07:55:34.654: INFO/System.out(1337): onTouchEvent
    09-21 07:55:34.754: INFO/System.out(1337): onTouchEvent
    09-21 07:55:34.754: INFO/System.out(1337): onCommand

    启动其他程序 完全覆盖屏幕
    09-21 07:56:03.855: INFO/System.out(1337): onTouchEvent
    09-21 07:56:03.884: INFO/System.out(1337): onTouchEvent
    09-21 07:56:04.494: INFO/System.out(1337): onVisibilityChanged

    设置其他壁纸 代替自己的壁纸
    09-21 07:56:34.893: INFO/System.out(1337): onSurfaceDestoryed
    09-21 07:56:34.893: INFO/System.out(1337): onDestroy
    09-21 07:56:34.953: INFO/System.out(1337): service onDestory

    接下来我们主要说一下如果添加自己的设置,让用户可以配置桌面动态效果的设置界面怎么来的。
    先看一下我在mainfest文件里面<application>标签下面的内容

    <service android:label="@string/app_name" android:name=".WallpaperKing" android:permission="android.permission.BIND_WALLPAPER"> <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> </intent-filter> <meta-data android:name="android.service.wallpaper" android:resource="@xml/livewallpaper" /> </service> <activity android:name=".SettingsActivity" android:label="@string/app_name" android:exported="true" > </activity>

    android:permission="android.permission.BIND_WALLPAPER"是申明一个权限
    <action android:name="android.service.wallpaper.WallpaperService这个说明你的是一个什么什么服务。
    其中的activity就是我们的设置l界面 ,里面具体是什么内容,就是你自己去想象的地方了,注意     android:exported="true" 一定要设置,不然后果自己后则,嘿嘿 .。。
    最好是在<manifest>加上

    <uses-feature android:name="android.software.live_wallpaper" />

    再次重点:
    我们都知道Wallpaper在res/xml目录下面有一个配置文件,也就是maifest里面的android:resource="@xml/livewallpaper"这里配置的。

    来看一下示例的livewallpaper.xml内容:

    <?xml version="1.0" encoding="utf-8"?> < wallpaper   // 这是一个申明,照写就行了 xmlns:android="http://schemas.android.com/apk/res/android"   // 这里就是申明一个设置界面, android:settingsActivity="com.kris.wallpaper.SettingsActivity"   // 这个就是缩略图 android:thumbnail="@drawable/thumb_icon" />
  • 相关阅读:
    图解:在资深架构师眼中的架构应该是怎样的?
    面试必看|面试官之间的“潜规则”
    职业规划:专属程序员的巡礼之年
    互联网企业如何应对网站架构演化带来的“蝴蝶效应”
    阿里首席架构师,是如何选择并落地架构方案的
    你真的了解微服务架构吗?听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
    大型分布式电商系统架构演进史?
    大厂面试官:Java工程师的“十项全能”
    打包签名时出现Conversion to Dalvik format failed with error 1
    Android项目混淆打包
  • 原文地址:https://www.cnblogs.com/xiaochao1234/p/3757061.html
Copyright © 2020-2023  润新知