小米主题xml码编高级教程.docVIP

  • 32
  • 0
  • 约1.32万字
  • 约 33页
  • 2017-03-04 发布于四川
  • 举报
小米主题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

文档评论(0)

1亿VIP精品文档

相关文档