- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(小米主题xml编码高级教程
MAML教程
目录
?[隐藏]?
1?MORE MAML 概述
2?MAML在百变锁屏中的应用
3?MAML在百变壁纸及动态图标中的应用
4?壁纸元素
5?变量
6?变量数组
7?全局变量
8?表达式
9?文本
10?时间
11?日期
12?图片
13?数字图片
14?图片遮罩
15?元素动画
16?Group
17?Slider
18?按钮
19?音乐播放器
20?音量调节
21?Content Provider
22?Trigger Command
23?动态帧率
24?传感器调用 MAML引擎脚本语言
MIUI Application Markup Language for MORE (MIUI MORE引擎应用标记语言)
MORE渲染引擎
Markup Oriented Rendering Engine (基于标记语言的渲染引擎)
概述
最初用于百变锁屏,使用xml用特定的语法描述锁屏界面。后来不断增强功能,逐步演化成一套接近通用的界面描述语言和图形渲染引擎,在一定需求下可用于开发风格多变的用户界面。可方便地通过更换皮肤改变界面风格、动画甚至交互方式。
MAML语言和Android的界面描述xml 类似. 所不同的是Android描述的是静态界面,对界面元素的更改依赖java代码。MAML描述的是静态界面+动态属性,UI在时间线上按一定的帧率不断刷新,UI显示根据元素属性的变量表达式的计算结果实时更新。MAML语言和运行时引擎已经从锁屏中独立出来作为MIUI内置的通用框架,除了显示时间日期等,还支持查询标准Content Provider来获取各种信息如天气。显示图片文本等各种元素,各种动画,滑动点击等界面交互控件,适于实现展示信息或有简单交互操作的界面。比如时钟、天气小部件、闹钟响铃界面。
框架支持动态帧率,不必按照固定帧率不停渲染,在没有动画和更新的时侯停止渲染,此时仅占用极少资源,对于缓慢变化的动画使用低帧率渲染,高动态的动画开始后立即调整到高帧率全速渲染。全速渲染时全屏帧率基本可以达到60帧。合理使用可以既炫酷又不费电。
MORE引擎适用哪些类型的界面开发
比如一些简单的工具类应用程序、无输入的操作界面希望能更换操作模式(例如来电接听界面)和桌面小工具可以考虑使用,也可以作为一个动画框架实现类似电子贺卡的界面,可支持交互,做为应用程序中的彩蛋(比如短信中的生日彩蛋)
MIUI主题使用MORE的模块
百变锁屏在主题包里的lockscreen/advance目录下,manifest.xml文件是描述脚本
frameRate: 指定帧率,如果动画缓慢,可以指定小一点的值,省电。默认为30。
displayDesktop: 默认为false,透视到桌面功能,如果没有锁屏壁纸或者锁屏壁纸可以被移开或透明时可以看到桌面launcher或者是锁屏前的应用程序。可以完美实现WP7,Meego,阿里云等的解锁界面。
showSysWallpaper: 默认为false,是否在锁屏界面显示桌面壁纸。开启后如果没有指定锁屏壁纸Wallpaper/,会将桌面壁纸作为锁屏的壁纸。
screenWidth: 设定屏幕宽度标准。如果指定为720,锁屏中所有元素的位置都按720p的布局编写,480p的手机会自动进行缩放。
百变壁纸
百变壁纸在主题包的miwallpaper目录下,描述文件也是manifest.xml。根节点表示与百变锁屏基本一致:
width:表示百变壁纸的宽度。 height:表示高度
另外,如果要实现元素跟随手指滑动的效果,需要借助#wallpaper_offset_pixel_x,#wallpaper_offset_x
wallpaper_offset_pixel_x:偏移的像素数 (0 ~ -1*屏宽)
wallpaper_offset_x:偏移百分比 (0 ~ 1.0)
二者关系:#wallpaper_offset_x * 屏宽 = -1*#wallpaper_offset_pixel_x
滑动时: 在第一屏,wallpaper_offset_pixel_x = 0, wallpaper_offset_x = 0; 滑到最后一屏,wallpaper_offset_pixel_x = -1*屏宽,wallpaper_offset_x = 1.0
为了适配不同分辨率机型,建议使用#wallpaper_offset_x。建议的设计方式:
壁纸切成双屏宽 (屏宽指的是screenWidth)
壁纸定位:x=-#wallpaper_offset_x * 屏宽
需要跟随滑动的元素定位:x=-#wallpaper_offset_x * 屏宽 + 相对壁纸的位置
动态图标
动态图标在主题包icons
您可能关注的文档
最近下载
- 医疗机构内麻醉、精神药品使用与管理制度.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018-建筑工程.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018建筑工程.docx VIP
- 七年级语文第一次月考卷(全解全析)(苏州专用)-A4.docx VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 中古时期郡望郡姓地理分布考论.docx VIP
- 机械工程材料完整全套教学课件.pptx
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025年高压电工证题库(附答案).docx
- 智慧工地整体解决方案(投标方案).docx
文档评论(0)