主题教程
(2.10.30)
一、MIUI主题
    首先,我们手机UI是由很多部分组成的,如锁屏、通知栏、桌面壁纸、图标等等。如果我们把手机比喻成一个房子,上述的部分可想象成房子的门、窗、地板、吊灯、座椅等。那我们可以认为原生的android系统就是一个毛坯房,林正英僵尸系列全集MIUI是在这之上的一个简装,自定义主题就是你自己给房子做的装修。
     MIUI提供主题自定义功能,其实就相当于帮你请了一个工程队,你可以用从众多装修方案(主题包)中选择自己喜欢的效果,最后交给工程队实施。而装修方案可大可小,大至全屋翻新,小到只换一盏灯。目前MIUI会自带两个主题包,达人们也可以设计自己的主题包,大家就可以借用达人们共享出来的设计。

二、准备工作
1.主题测试机器
工欲善其事必先利其器,做题之前首先得有一部能刷MIUI的手机作为测试机。MIUI现有支持v4的机型分成按分辨率,可分成两类480p480*854qq密保手机和480*800720p720*1280),分辨率对以后的主题制作有这影响,见后面详述。
480p的机子有:
小米手机1/1S (自带MIUI)HTC Desire SHTC Incredible SSamsung I9100、华为 Honor、索爱 LT18i Google Nexus S
720P的机子有:
小米手机2(自带MIUI)Google Galaxy NexusGalaxy S III I9300Google Galaxy Nexus、华为 Ascend D1索尼LT26iHTC One XLG LU6200       
              
附上刷机教程连接www.miui/download.html
注意:在针对新版主题客户端的测试方案上线之前,主题制作者只能在2.10.26开发版或之前版本进行测试
2.设计界面
    制作主题之前可先根据官方提供的主题界面模板,对主题界面进行设计,然后再进行切图,将设计稿切片,分成各个小部分,用与主题制作。
3.主题制作软件的安装
官方主题工具www.miui/thread-642823-1-1.html
使用此工具需要java环境的支持,未安装的同学请下载:bigota.d.miui/themeeditor/jre6_2.8.3_aajfe.zip
解压得jre6文件夹,将其放到到MIUIThemeEditor目录下(1所示)
1.windows下运行,“run-windows.bat“
2.linux下运行,“run-linux.sh”
3.mac os运行,“run-macmand” 
                                                   1 

三、主题制作
1.主题工具的使用
打开主题工具后可点击文件新建主题(图2),或选择打开主题模板

                 2
解压主题包:拖拽后缀名为mtz格式的主题文件,置于主题工具上(如图3),等待一段时
间,便会有一个与mtz文件名称相同的文件夹陈升,这便是解包操作。

                                              3
打开主题以后可看到(图4)主题名称、制作者、设计者,以及主题版本等信息,此为必填项目,ui版本选择为4.0,点击下方保存主题按钮主题文件夹内就会生成l文件,来记录下这些信息。

                                            4
主题打包mtz:点击工具下方打包即可生成mtz格式主题文件。点击打包并导入手机可将主题打包并导入手机并应用,前提必须开启手机的USB调试,并安装手机驱动,驱动可通过豌豆荚、qq手机管家等android  pc管理软件进行安装,能连上这类管理软件即代表手机驱动安装完成。
   不同分辨率的手机,其图片素材尺寸以及素材存放的位置也有所不同。如图5所示

                                5
以桌面图标为例,480p图标文件放在drawable-hdpi720p则为drawable-xhdpi,其他模块的文件位置存放位置也与之相似。
桌面图标替换:打开主题工具,先在左边选择要替换的图标,然后点击图片选择对应的图标进行替换,也可使用拖拽的方式,将要替换的图标直接拖至其上方,完成替换。(见图6

                                              6
   图标除了直接替换对应的图片外,还可以通过几张特定的图片来控制图标风格风格(主要用于第三方图标的风格统一),icon_border.png为最上面的一层;icon_mask.png控制图标显示大小形状,黑区域显示图标形状;icon_pattern.png为不变背景,icon_background.png变背景,会根据图标颜生成各种颜背景。如图7所示,
        
                                                    7
主题图片素材当中还有一种重要的图片格式,叫做9.png。这种格式的图片是安卓平台上新创的一种拉伸却不失真的图片,这种图片主要用于一些尺寸不固定的图片,或者上面的是上面的内容区与需要特殊控制的图片,比如短信气泡,输入文字框等。这种图片的文件名会是xxx.9.png这种格式,用主题工具解包以后,所生成的9.png图片其上下左右各会有1像素黑边,
如图8所示
1号黑条位置控制图片横向拉伸区域,就是左图纵向绿区域
2号黑条位置控制图片纵向拉伸区域,就是左图横向绿区域 
3号黑条位置控制输入框内文字显示的上下位置,即右图紫区域上下边界
4号黑条位置控制输入框内文字显示的左右边距,即右图紫区域左右边界闲本

 
                                        8
杨幂 马天宇
    黑边可以在公休假制度ps内直接画上,也可通过主题工具内附带的软件进行编辑(如图9)。在使用画黑边时如果失误多选了部分,可按住shift键,再点击即可擦掉,最后按ctrl+s保存。需要注意的是9.png图片必须画上黑边,不然在应用图片的时候,即使放了对应的图片手机上也不会显示。用ps画黑边的时候需要注意,必须用纯黑,不能有差。

                                               9
3.主题工具中的模块介绍
主题内基本模块
acts 通讯录以及拨号
Com.android.fileexplorer 文件管理器
短信
Com.android.providers.downloads.ui 下载管理
Com.android.settings  设置
Com.android.systemui 通知栏以及任务管理器
Com.android.updater 系统更新
Com.miui.antispam 防打扰
Com.miui.backup 备份
Com.miui.home 桌面
Com.wali.miuiworkassistant 流量监控
framework-miui-res  MIUI全局
framework-res  Android原生全局
以上模块为主题工具内带有图解的模块
MIUI全局和Android原生全局内主要存放文件是会在各种界面都会调用到的东西,比如按钮,弹窗,进度条等等,如在当前模块没有想要修改的素材时,可以去全局。
   接下来以对短信模块的修改为例子,简单的说说使用如何使用主题工具对主题进行编辑。
点击模块,若当前无此模块可将手机连上电脑,通过手机导入素材。

                                       10
选择要替换的图片,右边区域会显示图片存放的路径,以及默认素材图片尺寸,图10的中的黑圈中的数字就是默认素材的尺寸。将从设计稿内提取的素材替换进去,然后使用主题工具内提供的9.png工具,画上内容区与拉伸区。替换完成后点击打包并导入手机,测试替换效果。
5.简单锁屏的制作

 
百变锁屏在主题包里的lockscreen/advance目录下,l文件是描述脚本,以上代码为简单的iphone锁屏的代码,所谓的解锁就是将解锁起始点移动到解锁区域的过程,在这个解锁过程中可以沿着运动轨迹(图中的白线path)进行,也可完全自由的运动,当解锁起始点完全包含在结束区域时解锁完成。XY坐标为图片左上角的点,因为miui支持不同分辨率,所以在写坐标时需要注意,当图片以屏幕底部对齐时,其y坐标,需要以这种形式书写:y="#screen_height-89",意思其y坐标是以屏幕高度减去图片距离屏幕底部的高度。
附上百变锁屏综合教程
pan.baidu/share/link?shareid=114192&uk=1090759843
6.l文件说明
主题文件内除了图片以外,还有l,这个主要用于控制当前模块下的文字颜,提示文字等信息。里面的颜代码与普通的十六进制颜代码不同,是在还在前面增加了2位用于控制文字透明度,可在主题工具中点击切换编辑模式查看当前模块的l文件



 

7.关于壁纸和铃声
替换铃声
将准备好的铃声放在主题包的ringtones目录下,并按如下规则命名。
来电铃声:ringtone.mp3
通知铃声:notification.mp3
闹钟铃声 : alarm.mp3

替换壁纸(包括桌面壁纸和锁屏壁纸)
贾玲的母亲的故事桌面壁纸和锁屏壁纸放在主题包的 wallpaper 目录下:
桌面壁纸: default_wallpaper.jpg 
锁屏壁纸 :   default_lock_wallpaper.jpg
领先android的锁屏技术教程
     我们的目标是最大化锁屏界面的自由度,让解锁界面和解锁方式可以通过主题包很方便的更换。 百变锁屏时时候进军2.0新时代了,我们仍会继续发力,加入更多更酷的新功能!