发布时间: 2015-05-06 15:52
百变锁屏的制作主要分为五个步骤:1. 设计,切图 2. 建立工程 3. 编写manifest(锁屏脚本) 4. 支持个性化设置(可选) 5. 测试。
1. 设计 & 切图
为了能在各种分辨率的设备上都有完美的显示效果,建议分别为480P,720P,1080P等分辨率的设备切图。
2. 建立工程
在主题编辑器生成的工程目录下,创建lockscreen/目录,所有锁屏相关的文件都放置在该目录下。lockscreen/目录的文件结构如下,其中,除了manifest.xml(锁屏脚本)是必选的,其他文件都是可选的。
lockscreen/
|— advance/
. |— manifest.xml (锁屏脚本)
. |— 默认分辨率(480P)的图片文件
. |— 声音文件
. |— sw480/ (480P设备上使用的图片都放在该目录下)
. |— sw720/ (720P设备上使用的图片都放在该目录下)
. |— sw1080/ (1080P设备上使用的图片都放在该目录下)
. |— strings/ (如果你想让锁屏支持多语言,在这里添加相应语言的字符串)
. |— strings.xml (默认语言)
. |— strings_en.xml (英文)
. |— strings_zh_TW.xml (繁体中文-台湾)
.
|— theme_values.xml (主题相关的配置写在这里)
1)多分编率(屏幕宽度)适配的说明
多分编率的适配是系统自动完成的,具体地说:锁屏在被应用的时候,系统会去advance/下寻找相应分配率的图片(swXXX/或默认资源)来显示,比如在720P 上会去寻找sw720/。如果没有相应分辨率的目录,系统会采用与该分辨率最接近分辨率的资源,比如:你有sw720,sw1080两个目录,在800P 的设备上,因为800P与720P最接近,就会使用720P中的图片,然后将其拉伸以适配800P的设备;在500P的设备上,因为500P与 480P(默认分辨率)最接近,所以会使用默认图片资源(advance/目录下的图片),将其拉伸以适配500P的设备。
// TODO screenWidth, extraResourcesScreenWidth说明
2)多语言支持
有些文字在不同的国家或地区的显示是不一样的,所以你可能需要多语言的支持。
比如:大陆的“紧急呼叫”,在英文中是“Emergency call”,在台湾是“緊急撥號”。支持多语言的步骤:
a. 建立strings/目录,分别创建strings.xml,strings_en.xml,strings_zh_TW.xml
b. 编辑文件,
strings.xml:
<strings>
<string name=”emergency_call” value=”紧急呼叫” />
</strings>
strings_en.xml:
<strings>
<string name=”emergency_call” value=”Emergency call” />
</strings>
strings_zh_TW.xml:
3) theme_values.xml
配置在锁屏模式下,状态栏显示哪些信息。文件demo如下:
<MIUI_Theme_Values>
<!– 状态栏是否显示电池 –>
<bool name=”config_show_status_bar_battery_for_keyguard”>true</bool>
<!– 状态栏是否显示运营商 –>
<bool name=”config_show_status_bar_carrier_for_keyguard”>true</bool>
<!– 状态栏是否显示日期 –>
<bool name=”config_show_status_bar_date_for_keyguard”>true</bool>
<!– 状态栏是否显示时间 –>
<bool name=”config_show_status_bar_time_for_keyguard”>false</bool>
<!– 状态栏是否显示通知 –>
<bool name=”config_show_status_bar_notification_for_keyguard”>false</bool>
<!– 状态栏是否显示状态 TODO –>
<bool name=”config_show_status_bar_status_for_keyguard”>false</bool>
</MIUI_Theme_Values>
3. 编写Manifest
manifest.xml是锁屏脚本文件,描述了图片的布局、动画等效果,是锁屏制作的关键。该脚本采用MAML语言编写(MIUI Application Markup Language,MIUI百变框架自定义的一种语言),其详细语法参考MAML教程
4. 支持个性化设置(可选)
5. 测试
使用主题编辑器,将主题导入手机,即可预览锁屏效果。