百变锁屏教程

百变锁屏的制作主要分为五个步骤: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:

<strings>
<string name=”emergency_call” value=”緊急撥號” />
</strings>

c. 在manifest.xml中使用@emergency_call来引用该字符串。

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. 测试

使用主题编辑器,将主题导入手机,即可预览锁屏效果。

 

更多详细教程请参看:http://wiki.dev.xiaomi.com/index.php?title=MAML%E6%95%99%E7%A8%8B

1 条评论

  • 匿名 2018年7月30日 回复

    本人有自录的教学视频,如有兴趣,一起发扬小米精神吧!
    微信 18317893017

发表评论

电子邮件地址不会被公开。

©2015-2016 zhutidasai.com. 版权所有 京ICP备16041368号-3