




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
经过数周精心打造,百变锁屏终于要发布了。我们的目标是最大化锁屏界面的自由度,让解锁界面和解锁方式可以通过主题包很方便的更换。由于一直在调代码和编写主题包,没时间写个很完善的教程, 而且百变锁屏的功能点很多,一下子也说不完,这是一个很简单的教程,基本概括了所有重要功能,但是写的比较简单,可能不太容易懂,我们以后会逐渐完善,争取搞得图文并茂。其实个人觉得学习这些东西最好的方法是看实例,通过看实例了解它的基本原理和运作方式,教程只是一个参考,用来查找一些东西比如支持什么变量什么的。闲话不多说。7.8 新增:Text新增自动滚动功能,如果制定了宽度和滚动速度marqueeSpeed,在文字超过宽度的时候会自动滚动显示按钮元素,音乐控制,见帖子后面7.15 新增:音乐控制支持专辑封面显示见音乐控制部分。Image, Text, Time的属性 align= left, center, right 坐标点水平对齐方式Image, Time 属性 alignV= top, center, bottom 坐标点垂直对齐方式函数: round() 四舍五入取整int()向下取整Image 增加antiAlias 属性,默认为false,对于模拟时钟指针设置为true可以减少锯齿。百变锁屏在主题包里的lockscreen/advance目录下,manifest.xml文件是描述脚本,脚本语法如下:1. 图片部件 图片部件用来在锁屏界面上显示一个图片,可以指定各种属性 x,y : 相对于屏幕左上角的坐标 w,h : 宽和高 centerX, centerY : 旋转中心 angle : 旋转角度,一周360度 src : 图片名称 srcid : 图片序列后缀数字,一般用变量表示,可以根据变量显示不同的图片,如果src=pic.png srcid=1 则最后会显示图片 pic_1.png alpha : 透明度 0-255, 小于等于0不显示 antiAlias: true/false抗锯齿,如果为true图片在变形旋转时不会有锯齿,但是速度会慢 例子: 2.所有数值属性支持变量表达式,除src外。 当前支持变量: 变量以#开头 * 解锁物件属性: 格式:物件名.属性名#unlocker.move_x move_x解锁时在x方向移动距离 move_y解锁时在x方向移动距离 move_dist 解锁时移动距离 state 解锁状态: 正常:0 按下:1 到达解锁位置:2 * 全局变量: time 当前时间,long touch_x 当前触摸点 x touch_y 当前触摸点 y battery_level 电池电量 0-100 sms_unread_count 未读短信 call_missed_count 未接电话 / 时间日期变量 ampm 上下午 / 0 am, 1 pm hour12 小时,12小时制 hour24 小时,24小时制 minute 分钟 second 秒 year 年 month 月/0-11 date 日 day_of_week 星期/ 1-7 星期日到星期六 screen_width 屏幕宽度 screen_height 屏幕高度 battery_state 电池状态: 正常:0 充电:1 电量低:2 已充满:3 例子: alpha值的变量表达式表示该图片只有在非充电状态显示,并且随着解锁水平方向的拖动逐渐变透明至消失。 1. 复制代码3. 表达式 支持加减乘除取模括号和函数 加减乘除取模 : + - * / %支持函数 sin, cos, tan, asin, acos, atan, sinh, cosh, sqrt, abs, min, max 不解释 len(数字)给定数字位数 len(1234)=4 digit(数字, 第几位) 取给定数字的第几位 digit(1234, 2) = 34.图片部件可以指定动画 动画分为:图片源,位置,大小,旋转,透明度 每种动画相互独立,各自循环播放,动画由若干关键帧组成,关键帧包括帧属性和时间,除图片源动画外,其它动画会根据当前时间找到相邻的两个关键帧,然后线性插值计算当前的属性。 如果第一帧时间不从0开始,则默认时间为0的第一帧为图片原始属性。时间单位为毫秒 比如位置动画,如果当前时间是1600,则1600对1000取模,得600,x=10 + (600-100)/(1000-100)*(100-10) = 60y=120time 0 100 600 1000 | | | |x,y 10, 20 60,120 100, 200 位置动画中的位置是相对于图片自身的坐标。1. 2. 3. 4. 5. 6. 7.8. 还有:9. 10. 11. 12. 13. 14. 15. 16. 17. 18.19. 20. 21. 22. 23. 复制代码 图片源动画稍有不同,没有插值,x, y 可选,表示相对图片的位置, 当前的图片是在列表里的找到第一个大于当前时间的那个点指定的,1. 2. 3. 4. 5. 复制代码如果当前时间为1600,则对应的图片为 pic2.png例子: 位置动画表示1秒从屏幕最左端到最右端,停留1秒,透明度动画表示开始透明度为175,在从最左端到最右端过程中透明度不变,到达最右端后0.5秒渐变为不透明,然后0.5秒变为透明消失。 然后循环播放。 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 复制代码5. 图片可以指定遮罩 x,y 坐标, src为遮罩图片,不透明黑色部分表示不透明,其他部分为透明。 align:坐标是相对于所属图片还是绝对位置,如果是相对,图片移动是遮罩会相应跟随移动。否则遮罩保持不动。1. 2. 3. 4. 5. 复制代码 遮罩同样可以有源动画,旋转动画,和位置动画,属性支持变量表达式1. 2. 3. 4. 5. 6. 复制代码6. category 属性 界面上除解锁部件外所有元素可以指定 category属性,ChargingBatteryLow BatteryFull, 指定了category属性的元素仅会在该状态下显示,可以用来做充电文字,动画等的显示。 如 7. time 部件,src表示时间图片的前缀,如下表示使用time_0.png, time_1.png, . time_9.png, time_dot.png.坐标属性支持变量表达式1. 2. 复制代码8.,文字部件 显示指定格式的文字,坐标属性支持变量 color:文字颜色,#FFFFFFFF size: 文字大小 format:如果需要在文字中显示变量数字,需要指定格式 align:left, center, right,文字坐标的对齐方式 Text新增自动滚动功能,如果制定了宽度和滚动速度marqueeSpeed,在文字超过宽度的时候会自动滚动显示 1. 2. 3. 复制代码 例子: 1. 复制代码9. 日期部件 显示指定格式的日期 format: 支持标准日期格式, 另外增加农历: NNNN 1. 2. 3. 复制代码 九月: M - 9 MM - 09 7分钟: m - 7 mm - 07 mmm - 007 mmmm - 0007 1970年4月6日 3:23am yyyy/MM/dd h:mmaa - 1970/04/06 3:23am M月d日 h:mmaa - 4月6日 3:23am E - 周三 EEEE - 星期三 纪念日: M/d - 纪念日: 4/6 24小时: kk:mm - 13:3410. 解锁部件 name: 名字,用来做变量名可以有任意个解锁部件。 起始点,表示点击区域,坐标和宽高,起始点中包含的元素都会跟随当前解锁操作的拖动移动位置。1. 2. 正常状态,可以包含若干元素3. 4. 5. 6. 7. 8. 9. 在点击区域按下,表示开始解锁操作,拖动,隐藏其他状态元素,显示这些元素,10. 11. 12. 13. 14. 15. 16. 达到解锁目标后,隐藏其他元素,显示这些元素17. 18. 19. 20. 21. 22. 23. 复制代码 三个状态都可以不指定,可以使用变量来改变其他界面元素状态来表示解锁过程。 解锁目的,坐标和大小,当起始点的x,y点落入解锁目标区域矩形时,达到解锁位置,此时松开手指即可以解锁 结构和起始点相同,不同的是其中元素不会随解锁操作的拖动移动。1. 2. 解锁后执行的动作,可以指定不同的intent,(这里需要整理一下现有的例子)3. 4.5. 6. 7. 8.9. 10. 11. 12.13. 14.15. 16. 17. 18. 19.20.21. 解锁路径 tolerance:开始解锁操作后移动时路径最大距离超过这个值则取消,回到正常状态。Path 可以指定x,y坐标,默认为0,Position的坐标为相对坐标。22. 23. 24. 25. 26. 复制代码 可以有多个解锁目的 例子:1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 复制代码11. manifest.xml 结构 frameRate: 指定帧率,如果动画缓慢,可以指定小一点的值,省电。默认为30。 界面元素的遮挡取决于在xml中出现的先后,最先出现的在最下层。1. 2. 3. 4. 5. 6. 7. 8. 9. 复制代码12. 壁纸元素Wallpaper元素引用系统设置的壁纸,除了不能指定图片源外其他和Image元素相同,可以有动画和其他属性控制。如果没有此元素则不显示壁纸。可以有多个。例子: 13. 按钮元素按钮元素可以用来接收点击,双击等事件,并可根据trigger的定义来控制界面上其他元素。按钮元素也可以将事件传递给界面上其他元素,来使其他元素响应用户在锁屏界面上的操作。所有元素增加name属性,按钮的控制对象通过name来指定。x, y, w, h 指定了按钮区域。listener,指定该按钮的事件要传给哪个元素。一个Button可以有若干个trigger,trigger定义了按钮动作引发相关的操作,如控制某元素的属性 action:按钮动作: down (按下), up (抬起), double(双击), long (长按,暂时未实现) target: 控制目标名 property: 属性名,目前支持:visibility 以后会增加其他属性控制。 value: 属性值,目前针对boolean有:true, false, toggleButton元素的xml结构:1. 2. /可以指定任意个trigger,也可以不指定。3. 4. 5. 6. 7. /按钮正常状态,可以包含任意界面元素,如Image Text等,可以不指定8. 注意: Button中 Image的坐标和Button自己的坐标是独立的,都是相对于Button的父元素。9. 10. 11. 12. .13. 14. /按钮按下状态,可以包含任意界面元素,如Image Text等,也可以不指定,如果指定了normal状态,则显示normal状态元素。15. 16. 17. 18. .19. 20. 复制代码14. 音乐控制元素 指定名称,从而使显示与否可以由另一个按钮控制,比如双击。 必须包含4个Button和1个Text,并且name分别为指定的名称。可以包含其他任意界面元素如Image等。 /专辑封面,和普通Image一样除了图片是绑定到专辑封面的,可以指定大小,加Mask等。 /歌名和歌手显示文字 /上一首按钮 /下一首按钮 /播放按钮 /暂停按钮 例子: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代康复面试题目及答案
- 2025学年辽宁省沈阳市辅警协警笔试笔试模拟考试题(含答案)
- 2025年广西壮族自治区教师资格证考试小学综合素质理论考试试题及答案
- 医疗设备租赁法规分析报告
- 生态循环农业技术在2025年的经济效益与政策导向分析
- K2阶段STEM课程实施效果与学校教育质量提升策略报告
- 2025年土壤污染修复技术设备投资成本与效益分析报告
- 产品零售经销合同
- 中医科主任面试题及答案
- 中医摸拟考试题目及答案
- 可穿戴设备可靠性优化技术
- 仓库人员防暑措施方案
- 小学教师嘉奖主要事迹材料简短
- 2024年江西省高考化学试卷(真题+答案)
- 《科技英语翻译方法》课件
- 血液透析诊疗指南
- 2023年河南省对口升学养殖类专业课试卷
- TSG-T7001-2023电梯监督检验和定期检验规则宣贯解读
- 社区健康服务与管理教案
- 房屋装修合同范本下载
- 2023学年一年级语文下册看拼音写词语字帖(全册 部编版)
评论
0/150
提交评论